Files
Kent-logistics-Laravel/routes/web.php

216 lines
7.6 KiB
PHP
Raw Normal View History

2025-11-04 10:19:07 +05:30
<?php
use Illuminate\Support\Facades\Route;
2025-11-07 12:08:34 +05:30
use App\Http\Controllers\Admin\AdminAuthController;
use App\Http\Controllers\Admin\UserRequestController;
2025-11-07 17:34:56 +05:30
use App\Http\Controllers\Admin\AdminMarkListController;
2025-11-12 11:56:43 +05:30
use App\Http\Controllers\Admin\AdminOrderController;
2025-11-14 13:55:01 +05:30
use App\Http\Controllers\Admin\ShipmentController;
2025-11-17 10:33:11 +05:30
use App\Http\Controllers\Admin\AdminInvoiceController;
2025-11-18 10:01:59 +05:30
use App\Http\Controllers\Admin\AdminCustomerController;
2025-11-21 16:07:43 +05:30
use App\Http\Controllers\Admin\AdminAccountController;
use App\Http\Controllers\Admin\AdminReportController;
2025-11-04 10:19:07 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// Public Front Page
// ---------------------------
2025-11-04 10:19:07 +05:30
Route::get('/', function () {
return view('welcome');
});
2025-11-06 17:09:52 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// ADMIN LOGIN ROUTES
// ---------------------------
2025-11-06 17:09:52 +05:30
Route::prefix('admin')->group(function () {
2025-11-21 16:07:43 +05:30
// MUST have route name "login" for session redirect
Route::get('/login', [AdminAuthController::class, 'showLoginForm'])
->name('admin.login');
Route::post('/login', [AdminAuthController::class, 'login'])
->name('admin.login.submit');
Route::post('/logout', [AdminAuthController::class, 'logout'])
->name('admin.logout');
2025-11-06 17:09:52 +05:30
});
2025-11-07 12:08:34 +05:30
2025-11-21 16:07:43 +05:30
// ==========================================
// PROTECTED ADMIN ROUTES (session protected)
// ==========================================
Route::prefix('admin')
->middleware('auth:admin')
->group(function () {
2025-11-07 17:34:56 +05:30
2025-11-21 16:07:43 +05:30
// Dashboard
Route::get('/dashboard', [AdminOrderController::class, 'index'])
->name('admin.dashboard');
2025-11-12 11:56:43 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/reports', [AdminReportController::class, 'index'])->name('admin.reports');
2025-11-07 17:34:56 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/chat-support', fn() => view('admin.chat_support'))
->name('admin.chat_support');
2025-11-12 11:56:43 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/staff', fn() => view('admin.staff'))
->name('admin.staff');
2025-11-13 13:05:17 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/account', fn() => view('admin.account'))
->name('admin.account');
2025-11-13 13:05:17 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/profile', fn() => view('admin.profile'))
->name('admin.profile');
2025-11-13 13:05:17 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// USER REQUESTS
// ---------------------------
Route::get('/requests', [UserRequestController::class, 'index'])
->name('admin.requests');
2025-11-13 13:05:17 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/requests/approve/{id}', [UserRequestController::class, 'approve'])
->name('admin.requests.approve');
2025-11-13 13:05:17 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/requests/reject/{id}', [UserRequestController::class, 'reject'])
->name('admin.requests.reject');
2025-11-13 13:05:17 +05:30
2025-11-15 10:08:43 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// MARK LIST
// ---------------------------
Route::get('/mark-list', [AdminMarkListController::class, 'index'])
->name('admin.marklist.index');
2025-11-15 10:08:43 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/mark-list/status/{id}', [AdminMarkListController::class, 'toggleStatus'])
->name('admin.marklist.toggle');
2025-11-15 10:08:43 +05:30
2025-11-14 13:55:01 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// ORDERS
// ---------------------------
2025-11-26 23:07:12 +05:30
Route::get('/orders', [AdminOrderController::class, 'orderShow'])
2025-11-21 16:07:43 +05:30
->name('admin.orders');
2025-11-14 13:55:01 +05:30
2025-11-26 23:07:12 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/orders/list', [AdminOrderController::class, 'index'])
->name('admin.orders.index');
2025-11-14 13:55:01 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/orders/{id}', [AdminOrderController::class, 'show'])
->name('admin.orders.show');
2025-11-14 13:55:01 +05:30
2025-11-21 16:07:43 +05:30
Route::post('/orders/temp/add', [AdminOrderController::class, 'addTempItem'])
->name('admin.orders.temp.add');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
Route::post('/orders/temp/delete', [AdminOrderController::class, 'deleteTempItem'])
->name('admin.orders.temp.delete');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
Route::post('/orders/temp/reset', [AdminOrderController::class, 'resetTemp'])
->name('admin.orders.temp.reset');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
Route::post('/orders/finish', [AdminOrderController::class, 'finishOrder'])
->name('admin.orders.finish');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/orders/view/{id}', [AdminOrderController::class, 'popup'])
->name('admin.orders.popup');
2025-11-17 10:33:11 +05:30
2025-11-18 14:35:58 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// SHIPMENTS
// ---------------------------
Route::get('/shipments', [ShipmentController::class, 'index'])
->name('admin.shipments');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
Route::post('/shipments/store', [ShipmentController::class, 'store'])
->name('admin.shipments.store');
2025-11-18 10:01:59 +05:30
2025-11-21 16:07:43 +05:30
Route::post('/shipments/update-status', [ShipmentController::class, 'updateStatus'])
->name('admin.shipments.updateStatus');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
Route::get('/shipments/{id}', [ShipmentController::class, 'show'])
->name('admin.shipments.show');
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// INVOICES
// ---------------------------
Route::get('/invoices', [AdminInvoiceController::class, 'index'])
->name('admin.invoices.index');
Route::get('/invoices/{id}/popup', [AdminInvoiceController::class, 'popup'])
->name('admin.invoices.popup');
Route::get('/invoices/{id}/edit', [AdminInvoiceController::class, 'edit'])
->name('admin.invoices.edit');
Route::post('/invoices/{id}/update', [AdminInvoiceController::class, 'update'])
->name('admin.invoices.update');
2025-11-25 13:14:53 +05:30
Route::post('/invoices/{invoice}/installments', [AdminInvoiceController::class, 'storeInstallment'])
->name('admin.invoice.installment.store');
Route::post('/invoices/{id}/installment', [AdminInvoiceController::class, 'storeInstallment'])
->name('admin.invoice.installment.store');
Route::delete('/installment/{id}', [AdminInvoiceController::class, 'deleteInstallment'])
->name('admin.invoice.installment.delete');
2025-11-21 16:44:56 +05:30
//Add New Invoice
Route::get('/admin/invoices/create', [InvoiceController::class, 'create'])->name('admin.invoices.create');
2025-11-18 10:01:59 +05:30
2025-11-17 10:33:11 +05:30
2025-11-21 16:07:43 +05:30
// ---------------------------
// CUSTOMERS
// ---------------------------
Route::get('/customers', [AdminCustomerController::class, 'index'])
->name('admin.customers.index');
Route::get('/customers/add', [AdminCustomerController::class, 'create'])
->name('admin.customers.add');
Route::post('/customers/store', [AdminCustomerController::class, 'store'])
->name('admin.customers.store');
Route::get('/customers/{id}/view', [AdminCustomerController::class, 'view'])
->name('admin.customers.view');
Route::post('/customers/{id}/status', [AdminCustomerController::class, 'toggleStatus'])
->name('admin.customers.status');
});
// ==========================================
// ADMIN ACCOUNT (AJAX) ROUTES
// ==========================================
Route::prefix('admin/account')
->middleware('auth:admin')
->name('admin.account.')
->group(function () {
Route::get('/dashboard', [AdminAccountController::class, 'getDashboardData'])
->name('dashboard');
Route::get('/available-orders', [AdminAccountController::class, 'getAvailableOrders'])
->name('orders.available');
Route::post('/create-order', [AdminAccountController::class, 'accountCreateOrder'])
->name('create');
Route::post('/toggle-payment', [AdminAccountController::class, 'togglePayment'])
->name('toggle');
Route::post('/installment/create', [AdminAccountController::class, 'addInstallment'])
->name('installment.create');
Route::post('/installment/update-status', [AdminAccountController::class, 'updateInstallmentStatus'])
->name('installment.update');
Route::get('/entry/{entry_no}', [AdminAccountController::class, 'getEntryDetails'])
->name('entry.details');
});
2025-11-18 10:01:59 +05:30
2025-11-17 10:33:11 +05:30