File: /home/workzeni/agency-erp-05.workzenix.com/routes/web.php
<?php
use App\Http\Controllers\Admin\AdminController;
use App\Http\Controllers\Auth\UserManage;
use App\Http\Controllers\FundTransferController;
use App\Http\Controllers\HotelController;
use App\Http\Controllers\Manager\ManagerController;
use App\Http\Controllers\Module\AgencyController;
use App\Http\Controllers\Module\QoutaController;
use App\Http\Controllers\PaymentController;
use App\Http\Controllers\SeasonController;
use App\Http\Controllers\User\UserController;
use Illuminate\Support\Facades\Route;
use Livewire\Volt\Volt;
// Route::get('/', function () {
// return view('welcome');
// })->name('home');
// Route::get('/', [AdminController::class, 'indextest']);
// Route::view('dashboard', 'dashboard')->middleware(['auth', 'verified'])->name('dashboard');
// Route::middleware(['auth'])->group(function () {
// Route::redirect('settings', 'settings/profile');
// Volt::route('settings/profile', 'settings.profile')->name('settings.profile');
// Volt::route('settings/password', 'settings.password')->name('settings.password');
// Volt::route('settings/appearance', 'settings.appearance')->name('settings.appearance');
// });
// Super Admin Routes
Route::middleware(['auth', 'role:1'])->prefix('admin')->name('admin.')->group(function () {
Route::get('/dashboard', [AdminController::class, 'index'])->name('dashboard');
// agency manage
Route::get('/agency', [AgencyController::class, 'agency_index'])->name('agency.index');
Route::get('/agency/create', [AgencyController::class, 'agency_create'])->name('agency.create');
Route::get('/agency/{id}/edit', [AgencyController::class, 'agency_edit'])->name('agency.edit');
// Qouta
Route::get('/qouta', [QoutaController::class, 'qouta_index'])->name('qouta.index');
Route::get('/qouta/create', [QoutaController::class, 'qouta_create'])->name('qouta.create');
Route::get('/qouta/{id}/edit', [QoutaController::class, 'qouta_edit'])->name('qouta.edit');
// Payment
Route::prefix('payment/')->as('payment.')->controller(PaymentController::class)->group(function () {
Route::get('list', 'list')->name('list');
Route::get('create', 'create')->name('create');
Route::get('/get-users/{agency}', 'getByAgency');
Route::get('edit/{payment}', 'edit')->name('edit');
});
});
// Manager Routes
Route::middleware(['auth', 'role:1,2'])->prefix('manager')->name('manager.')->group(function () {
Route::get('/manager', [ManagerController::class, 'index'])->name('dashboard');
});
// Account Routes
Route::middleware(['auth', 'role:1,3'])->prefix('account')->name('account.')->group(function () {
Route::get('/account', function () {
return 'Account Page';
})->name('dashboard');
});
// User Routes
Route::middleware(['auth', 'role:1,4'])->prefix('agency')->name('user.')->group(function () {
Route::get('/deshboard', [UserController::class, 'index'])->name('dashboard');
// Payment
Route::prefix('payment/')->as('payment.')->controller(PaymentController::class)->group(function () {
Route::get('list', 'list')->name('list');
Route::get('create', 'create')->name('create');
Route::get('/get-users/{agency}', 'getByAgency');
Route::get('edit/{payment}', 'edit')->name('edit');
// Route::post('update/status/{payment}', 'approve')->name('approve');
});
});
// Storage Routes
Route::middleware(['auth', 'role:1,2,3'])->group(function () {
Route::get('/qouta-data', [QoutaController::class, 'qoutaData'])->name('admin.qouta.data');
// season
Route::prefix('seasons/')->as('season.')->controller(SeasonController::class)->group(function () {
Route::get('list', 'list')->name('list');
Route::post('store', 'store')->name('store');
Route::put('{season}', 'update')->name('update');
Route::delete('{season}', 'destroy')->name('destroy');
});
// agency
Route::get('/admin/agency-login/{agency_id}', [AgencyController::class, 'agency_loginAs'])->name('admin.agency.login')->middleware(['auth']);
Route::post('/agency/active/{id}', [AgencyController::class, 'agency_active'])->name('agency.active');
Route::post('/agency/store', [AgencyController::class, 'agency_store'])->name('agency.store');
Route::post('/agency/{id}/update', [AgencyController::class, 'agency_update'])->name('agency.update');
Route::delete('/agency/{id}/delete', [AgencyController::class, 'agency_destroy'])->name('agency.destroy');
// qounty
Route::post('/qounty/store', [QoutaController::class, 'qoute_store'])->name('qouta.store');
Route::put('/qounty/{id}/update', [QoutaController::class, 'qouta_update'])->name('qouta.update');
Route::delete('/qounty/{id}/delete', [QoutaController::class, 'qouta_destroy'])->name('qouta.destroy');
// Fund Transfer
Route::prefix('fund-transfer/')->as('fund-transfer.')->controller(FundTransferController::class)->group(function () {
Route::get('list', 'fundTransferList')->name('list');
Route::get('show/{fundTransfer}', 'fundTransferShow')->name('show');
Route::get('create', 'fundTransferCreate')->name('create');
Route::post('store', 'fundTransferStore')->name('store');
Route::get('edit/{id}', 'fundTransferEdit')->name('edit');
Route::put('update/{id}', 'fundTransferUpdate')->name('update');
});
// Transaction
Route::get('/transaction/agencies', [PaymentController::class, 'agencyTransactionList'])->name('transaction.agency_list');
// user manage
Route::get('/user/manage', [UserManage::class, 'user_index'])->name('manage-user.index');
Route::get('/user/create', [UserManage::class, 'user_create'])->name('manage-user.create');
Route::post('/user/store', [UserManage::class, 'user_store'])->name('manage-user.store');
Route::get('/user/{id}/edit', [UserManage::class, 'user_edit'])->name('manage-user.edit');
Route::put('/user/{id}/update', [UserManage::class, 'user_update'])->name('manage-user.update');
Route::get('/impersonate/{id}', [UserManage::class, 'user_loginAs'])->name('manage-user.login');
});
Route::middleware(['auth', 'role:1,2,3,4'])->group(function () {
Route::get('/currency-balance', [UserController::class, 'getBalance'])->name('currency.balance');
Route::get('/get-agency-balance/{id}', [PaymentController::class, 'getAgencyBalance']);
Route::get('/get-quota-by-agency', [HotelController::class, 'getQuotaByAgency'])->name('quota.byAgency');
// agency profile
Route::prefix('agency/')->as('agency.')->controller(AgencyController::class)->group(function () {
Route::get('/{id}/profile', 'manage_profile')->name('manage_profile');
Route::put('update_profile/{id}', 'update_profile')->name('update_profile');
});
// payment
Route::prefix('payment/')->as('payment.')->controller(PaymentController::class)->group(function () {
Route::post('store', 'store')->name('store');
Route::put('update/{payment}', 'update')->name('update');
Route::delete('delete/{payment}', 'delete')->name('delete');
});
// Transaction
Route::get('/transaction/list', [PaymentController::class, 'allTransaction'])->name('transaction.list');
Route::get('/agency/transactions/{agency}', [PaymentController::class, 'agencyTransaction'])->name('transaction.agency');
Route::get('/transactions/{id}', [PaymentController::class, 'showTransaction'])->name('transaction.view');
Route::get('admin/transaction/{id}/invoice/pdf', [PaymentController::class, 'downloadInvoicePdf'])->name('admin.transaction.invoice.pdf');
// Pilgrim
// Route::prefix('pilgrim/')->as('pilgrim.')->controller(PaymentController::class)->group(function () {
// });
// hotel booking
Route::prefix('hotel-booking/')->as('hotel.')->controller(HotelController::class)->group(function () {
Route::get('list', 'index')->name('list');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::get('show/{id}', 'show')->name('show');
Route::post('status-update/{id}', 'updateStatus')->name('status.update');
});
});
Route::get('/test', function () {
return back()->with('success', 'flash works');
});
require __DIR__.'/auth.php';