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-27 19:39:36 +05:30
|
|
|
|
|
|
|
|
|
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-12-01 10:38:52 +05:30
|
|
|
|
|
|
|
|
// ---------------------------
|
|
|
|
|
// ORDERS (FIXED ROUTES)
|
|
|
|
|
// ---------------------------
|
|
|
|
|
|
|
|
|
|
// Add item to order
|
|
|
|
|
Route::post('/orders/{order}/item', [AdminOrderController::class, 'addItem'])
|
|
|
|
|
->name('admin.orders.addItem');
|
|
|
|
|
|
|
|
|
|
// Delete item from order
|
|
|
|
|
Route::delete('/orders/item/{id}', [AdminOrderController::class, 'deleteItem'])
|
|
|
|
|
->name('admin.orders.deleteItem');
|
2025-11-17 10:33:11 +05:30
|
|
|
|
2025-12-01 10:38:52 +05:30
|
|
|
// Restore deleted item
|
|
|
|
|
Route::post('/orders/item/{id}/restore', [AdminOrderController::class, 'restoreItem'])
|
|
|
|
|
->name('admin.orders.restoreItem');
|
2025-11-18 14:35:58 +05:30
|
|
|
|
2025-12-01 10:38:52 +05:30
|
|
|
// Update main order fields
|
|
|
|
|
Route::post('/orders/{id}/update', [AdminOrderController::class, 'update'])
|
|
|
|
|
->name('admin.orders.update');
|
|
|
|
|
|
|
|
|
|
// Delete full order
|
|
|
|
|
Route::delete('/orders/{id}/delete', [AdminOrderController::class, 'destroy'])
|
|
|
|
|
->name('admin.orders.destroy');
|
|
|
|
|
|
2025-11-21 16:07:43 +05:30
|
|
|
// ---------------------------
|
2025-12-01 10:38:52 +05:30
|
|
|
// SHIPMENTS (FIXED ROUTES)
|
2025-11-21 16:07:43 +05:30
|
|
|
// ---------------------------
|
|
|
|
|
Route::get('/shipments', [ShipmentController::class, 'index'])
|
|
|
|
|
->name('admin.shipments');
|
2025-11-17 10:33:11 +05:30
|
|
|
|
2025-12-01 10:38:52 +05:30
|
|
|
Route::post('/shipments', [ShipmentController::class, 'store'])
|
2025-11-21 16:07:43 +05:30
|
|
|
->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-12-01 10:38:52 +05:30
|
|
|
// Get shipment orders for modal (AJAX)
|
|
|
|
|
Route::get('/shipments/{id}/orders', [ShipmentController::class, 'getShipmentOrders'])
|
|
|
|
|
->name('admin.shipments.orders');
|
|
|
|
|
|
|
|
|
|
// Get shipment details for edit (AJAX)
|
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-12-01 10:38:52 +05:30
|
|
|
// Shipment Update
|
|
|
|
|
Route::put('/shipments/{id}', [ShipmentController::class, 'update'])
|
|
|
|
|
->name('admin.shipments.update');
|
|
|
|
|
|
|
|
|
|
// Shipment Delete
|
|
|
|
|
Route::delete('/shipments/{id}', [ShipmentController::class, 'destroy'])
|
|
|
|
|
->name('admin.shipments.destroy');
|
|
|
|
|
|
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');
|
|
|
|
|
});
|
|
|
|
|
|
2025-12-01 10:34:27 +05:30
|
|
|
// ==========================================
|
|
|
|
|
// 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');
|
|
|
|
|
|
|
|
|
|
// ⬇⬇ NEW ROUTES FOR EDIT + DELETE ⬇⬇
|
|
|
|
|
Route::post('/update-entry', [AdminAccountController::class, 'updateEntry'])
|
|
|
|
|
->name('update.entry');
|
|
|
|
|
|
|
|
|
|
Route::post('/delete-entry', [AdminAccountController::class, 'deleteEntry'])
|
|
|
|
|
->name('delete.entry');
|
2025-11-21 16:07:43 +05:30
|
|
|
|
|
|
|
|
|
2025-12-01 10:34:27 +05:30
|
|
|
// ===== Associated Orders Routes (EDIT MODAL साठी) =====
|
|
|
|
|
Route::post('/add-orders-to-entry', [AdminAccountController::class, 'addOrdersToEntry'])
|
|
|
|
|
->name('add.orders.to.entry');
|
|
|
|
|
|
|
|
|
|
Route::get('/entry-orders/{entry_no}', [AdminAccountController::class, 'getEntryOrders'])
|
|
|
|
|
->name('entry.orders');
|
|
|
|
|
|
|
|
|
|
Route::post('/remove-order-from-entry', [AdminAccountController::class, 'removeOrderFromEntry'])
|
|
|
|
|
->name('remove.order.from.entry');
|
2025-11-21 16:07:43 +05:30
|
|
|
|
2025-12-01 10:34:27 +05:30
|
|
|
|
|
|
|
|
});
|
2025-11-21 16:07:43 +05:30
|
|
|
|
2025-12-01 10:34:27 +05:30
|
|
|
|
2025-11-21 16:07:43 +05:30
|
|
|
|
|
|
|
|
|
2025-12-01 10:34:27 +05:30
|
|
|
// ---------------------------
|
|
|
|
|
// REPORTS DOWNLOAD ROUTES
|
|
|
|
|
// ---------------------------
|
|
|
|
|
Route::get('/admin/orders/download/pdf', [OrderController::class, 'downloadPdf'])->name('admin.orders.download.pdf');
|
|
|
|
|
Route::get('/admin/orders/download/excel', [OrderController::class, 'downloadExcel'])->name('admin.orders.download.excel');
|
2025-11-21 16:07:43 +05:30
|
|
|
|
2025-12-01 10:34:27 +05:30
|
|
|
//---------------------------
|
|
|
|
|
//Edit Button Route
|
|
|
|
|
//---------------------------
|
|
|
|
|
|
2025-11-21 16:07:43 +05:30
|
|
|
|