|
|
@@ -60,43 +60,85 @@ Route::middleware('auth:web')->group(function () {
|
|
|
Route::post('profile/store', [UserController::class, 'storeProfile'])->name('profile.store');
|
|
|
|
|
|
// catalog
|
|
|
- Route::get('catalog', [ProductController::class, 'index'])->name('catalog.index');
|
|
|
- Route::get('catalog/create', [ProductController::class, 'create'])->name('catalog.create');
|
|
|
- Route::get('catalog/{product}', [ProductController::class, 'show'])->name('catalog.show');
|
|
|
- Route::post('catalog', [ProductController::class, 'store'])->name('catalog.store');
|
|
|
- Route::post('catalog/{product}', [ProductController::class, 'update'])->name('catalog.update');
|
|
|
- Route::delete('catalog/{product}', [ProductController::class, 'delete'])->name('catalog.delete');
|
|
|
-
|
|
|
- Route::post('catalog-import', [ProductController::class, 'import'])->name('catalog.import');
|
|
|
- Route::post('catalog-export', [ProductController::class, 'export'])->name('catalog.export');
|
|
|
-
|
|
|
- // contracts
|
|
|
- Route::get('contract', [ContractController::class, 'index'])->name('contract.index');
|
|
|
- Route::get('contract/create', [ContractController::class, 'create'])->name('contract.create');
|
|
|
- Route::get('contract/{contract}', [ContractController::class, 'show'])->name('contract.show');
|
|
|
- Route::post('contract', [ContractController::class, 'store'])->name('contract.store');
|
|
|
- Route::post('contract/{contract}', [ContractController::class, 'update'])->name('contract.update');
|
|
|
- Route::delete('contract/{contract}', [ContractController::class, 'delete'])->name('contract.delete');
|
|
|
-
|
|
|
- // orders
|
|
|
- Route::get('order', [OrderController::class, 'index'])->name('order.index');
|
|
|
- Route::get('order/create', [OrderController::class, 'create'])->name('order.create');
|
|
|
- Route::get('order/{order}', [OrderController::class, 'show'])->name('order.show');
|
|
|
- Route::get('order/edit/{order}', [OrderController::class, 'edit'])->name('order.edit');
|
|
|
- Route::post('order/store', [OrderController::class, 'store'])->name('order.store');
|
|
|
- Route::post('order/update', [OrderController::class, 'store'])->name('order.update');
|
|
|
- Route::delete('order/{order}', [OrderController::class, 'destroy'])->name('order.destroy')->middleware('role:' . Role::ADMIN);
|
|
|
+ Route::middleware('role:admin,manager')->group(function (){
|
|
|
+ Route::get('catalog', [ProductController::class, 'index'])->name('catalog.index');
|
|
|
+ Route::get('catalog/create', [ProductController::class, 'create'])->name('catalog.create');
|
|
|
+ Route::get('catalog/{product}', [ProductController::class, 'show'])->name('catalog.show');
|
|
|
+ Route::post('catalog', [ProductController::class, 'store'])->name('catalog.store');
|
|
|
+ Route::post('catalog/{product}', [ProductController::class, 'update'])->name('catalog.update');
|
|
|
+ Route::delete('catalog/{product}', [ProductController::class, 'delete'])->name('catalog.delete');
|
|
|
+
|
|
|
+ Route::post('catalog-import', [ProductController::class, 'import'])->name('catalog.import');
|
|
|
+ Route::post('catalog-export', [ProductController::class, 'export'])->name('catalog.export');
|
|
|
+
|
|
|
+ // contracts
|
|
|
+ Route::get('contract', [ContractController::class, 'index'])->name('contract.index');
|
|
|
+ Route::get('contract/create', [ContractController::class, 'create'])->name('contract.create');
|
|
|
+ Route::get('contract/{contract}', [ContractController::class, 'show'])->name('contract.show');
|
|
|
+ Route::post('contract', [ContractController::class, 'store'])->name('contract.store');
|
|
|
+ Route::post('contract/{contract}', [ContractController::class, 'update'])->name('contract.update');
|
|
|
+ Route::delete('contract/{contract}', [ContractController::class, 'delete'])->name('contract.delete');
|
|
|
+
|
|
|
+ // orders
|
|
|
+ Route::get('order/create', [OrderController::class, 'create'])->name('order.create');
|
|
|
+ Route::get('order/edit/{order}', [OrderController::class, 'edit'])->name('order.edit');
|
|
|
+
|
|
|
+ Route::post('order/store', [OrderController::class, 'store'])->name('order.store');
|
|
|
+ Route::post('order/update', [OrderController::class, 'store'])->name('order.update');
|
|
|
+ Route::delete('order/{order}', [OrderController::class, 'destroy'])->name('order.destroy')->middleware('role:' . Role::ADMIN);
|
|
|
+
|
|
|
+ Route::get('order/{order}/get-maf', [OrderController::class, 'getMafToOrder'])->name('order.get-maf');
|
|
|
+ Route::get('order/revert-maf/{order}', [OrderController::class, 'revertMaf'])->name('order.revert-maf');
|
|
|
+ Route::post('order/move-maf', [OrderController::class, 'moveMaf'])->name('order.move-maf');
|
|
|
+ Route::post('order/create-ttn', [OrderController::class, 'createTtn'])->name('order.create-ttn');
|
|
|
+
|
|
|
+ Route::post('order/{order}/upload-document', [OrderController::class, 'uploadDocument'])->name('order.upload-document');
|
|
|
+ Route::post('order/{order}/upload-statement', [OrderController::class, 'uploadStatement'])->name('order.upload-statement');
|
|
|
+
|
|
|
+ Route::post('catalog/{product}/upload-certificate', [ProductController::class, 'uploadCertificate'])->name('catalog.upload-certificate');
|
|
|
+ Route::post('product_sku/{product_sku}/upload-passport', [ProductSKUController::class, 'uploadPassport'])->name('product-sku.upload-passport');
|
|
|
+
|
|
|
+ Route::get('order/generate-installation-pack/{order}', [OrderController::class, 'generateInstallationPack'])->name('order.generate-installation-pack');
|
|
|
+ Route::get('order/generate-handover-pack/{order}', [OrderController::class, 'generateHandoverPack'])->name('order.generate-handover-pack');
|
|
|
+ Route::get('reclamation/generate-reclamation-pack/{reclamation}', [ReclamationController::class, 'generateReclamationPack'])->name('order.generate-reclamation-pack');
|
|
|
+ Route::get('reclamation/generate-photos-before-pack/{reclamation}', [ReclamationController::class, 'generatePhotosBeforePack'])->name('reclamation.generate-photos-before-pack');
|
|
|
+ Route::get('reclamation/generate-photos-after-pack/{reclamation}', [ReclamationController::class, 'generatePhotosAfterPack'])->name('reclamation.generate-photos-after-pack');
|
|
|
+
|
|
|
+ // Склад (МАФ)
|
|
|
+ Route::get('product_sku', [ProductSKUController::class, 'index'])->name('product_sku.index');
|
|
|
+ Route::get('product_sku/{product_sku}', [ProductSKUController::class, 'show'])->name('product_sku.show');
|
|
|
+ Route::post('product_sku/update/{product_sku}', [ProductSKUController::class, 'update'])->name('product_sku.update');
|
|
|
+
|
|
|
+ // Склад заказы МАФ
|
|
|
+ Route::get('maf_orders', [MafOrderController::class, 'index'])->name('maf_order.index');
|
|
|
+ Route::get('maf_orders/{maf_order}', [MafOrderController::class, 'show'])->name('maf_order.show');
|
|
|
+ Route::post('maf_orders/store', [MafOrderController::class, 'store'])->name('maf_order.store');
|
|
|
+ Route::post('maf_orders/update/{maf_order}', [MafOrderController::class, 'update'])->name('maf_order.update');
|
|
|
+ Route::delete('maf_orders/delete/{maf_order}', [MafOrderController::class, 'destroy'])->name('maf_order.delete');
|
|
|
+ Route::post('maf_orders/set_in_stock/{maf_order}', [MafOrderController::class, 'setInStock'])->name('maf_order.set_in_stock');
|
|
|
+
|
|
|
+ // рекламации
|
|
|
+ Route::post('reclamations/create/{order}', [ReclamationController::class, 'create'])->name('reclamations.create');
|
|
|
+ Route::post('reclamations/update/{reclamation}', [ReclamationController::class, 'update'])->name('reclamations.update');
|
|
|
+ Route::post('reclamations/{reclamation}/upload-document', [ReclamationController::class, 'uploadDocument'])->name('reclamations.upload-document');
|
|
|
+ Route::post('reclamations/{reclamation}/upload-act', [ReclamationController::class, 'uploadAct'])->name('reclamations.upload-act');
|
|
|
+ Route::post('reclamations/{reclamation}/update-details', [ReclamationController::class, 'updateDetails'])->name('reclamations.update-details');
|
|
|
+ Route::get('reports', [ReportController::class, 'index'])->name('reports.index');
|
|
|
+
|
|
|
+ // график
|
|
|
+ Route::post('schedule/create_from_order', [ScheduleController::class, 'createFromOrder'])->name('schedule.create-from-order');
|
|
|
+ Route::post('schedule/update', [ScheduleController::class, 'update'])->name('schedule.update');
|
|
|
+ Route::delete('schedule/delete/{schedule}', [ScheduleController::class, 'delete'])->name('schedule.delete');
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
- Route::get('order/{order}/get-maf', [OrderController::class, 'getMafToOrder'])->name('order.get-maf');
|
|
|
- Route::get('order/revert-maf/{order}', [OrderController::class, 'revertMaf'])->name('order.revert-maf');
|
|
|
- Route::post('order/move-maf', [OrderController::class, 'moveMaf'])->name('order.move-maf');
|
|
|
- Route::post('order/create-ttn', [OrderController::class, 'createTtn'])->name('order.create-ttn');
|
|
|
|
|
|
+
|
|
|
+ // orders for all
|
|
|
+ Route::get('order', [OrderController::class, 'index'])->name('order.index');
|
|
|
+ Route::get('order/{order}', [OrderController::class, 'show'])->name('order.show');
|
|
|
Route::post('order/{order}/upload-photo', [OrderController::class, 'uploadPhoto'])->name('order.upload-photo');
|
|
|
- Route::post('order/{order}/upload-document', [OrderController::class, 'uploadDocument'])->name('order.upload-document');
|
|
|
- Route::post('order/{order}/upload-statement', [OrderController::class, 'uploadStatement'])->name('order.upload-statement');
|
|
|
- Route::post('catalog/{product}/upload-certificate', [ProductController::class, 'uploadCertificate'])->name('catalog.upload-certificate');
|
|
|
- Route::post('product_sku/{product_sku}/upload-passport', [ProductSKUController::class, 'uploadPassport'])->name('product-sku.upload-passport');
|
|
|
+ Route::get('order/generate-photos-pack/{order}', [OrderController::class, 'generatePhotosPack'])->name('order.generate-photos-pack');
|
|
|
|
|
|
Route::middleware('role:' . Role::ADMIN)->group(function (){
|
|
|
Route::delete('order/delete-photo/{order}/{file}', [OrderController::class, 'deletePhoto'])->name('order.delete-photo');
|
|
|
@@ -109,46 +151,22 @@ Route::middleware('auth:web')->group(function () {
|
|
|
Route::delete('reclamations/delete-photo-after/{reclamation}/{file}', [ReclamationController::class, 'deletePhotoAfter'])->name('reclamations.delete-photo-after');
|
|
|
Route::delete('reclamations/delete-document/{reclamation}/{file}', [ReclamationController::class, 'deleteDocument'])->name('reclamations.delete-document');
|
|
|
Route::delete('reclamations/delete-act/{reclamation}/{file}', [ReclamationController::class, 'deleteAct'])->name('reclamations.delete-act');
|
|
|
-
|
|
|
});
|
|
|
|
|
|
- Route::get('order/generate-installation-pack/{order}', [OrderController::class, 'generateInstallationPack'])->name('order.generate-installation-pack');
|
|
|
- Route::get('order/generate-handover-pack/{order}', [OrderController::class, 'generateHandoverPack'])->name('order.generate-handover-pack');
|
|
|
- Route::get('reclamation/generate-reclamation-pack/{reclamation}', [ReclamationController::class, 'generateReclamationPack'])->name('order.generate-reclamation-pack');
|
|
|
- Route::get('reclamation/generate-photos-before-pack/{reclamation}', [ReclamationController::class, 'generatePhotosBeforePack'])->name('reclamation.generate-photos-before-pack');
|
|
|
- Route::get('reclamation/generate-photos-after-pack/{reclamation}', [ReclamationController::class, 'generatePhotosAfterPack'])->name('reclamation.generate-photos-after-pack');
|
|
|
- Route::get('order/generate-photos-pack/{order}', [OrderController::class, 'generatePhotosPack'])->name('order.generate-photos-pack');
|
|
|
|
|
|
- // Склад (МАФ)
|
|
|
- Route::get('product_sku', [ProductSKUController::class, 'index'])->name('product_sku.index');
|
|
|
- Route::get('product_sku/{product_sku}', [ProductSKUController::class, 'show'])->name('product_sku.show');
|
|
|
- Route::post('product_sku/update/{product_sku}', [ProductSKUController::class, 'update'])->name('product_sku.update');
|
|
|
|
|
|
- // Склад заказы МАФ
|
|
|
- Route::get('maf_orders', [MafOrderController::class, 'index'])->name('maf_order.index');
|
|
|
- Route::get('maf_orders/{maf_order}', [MafOrderController::class, 'show'])->name('maf_order.show');
|
|
|
- Route::post('maf_orders/store', [MafOrderController::class, 'store'])->name('maf_order.store');
|
|
|
- Route::post('maf_orders/update/{maf_order}', [MafOrderController::class, 'update'])->name('maf_order.update');
|
|
|
- Route::delete('maf_orders/delete/{maf_order}', [MafOrderController::class, 'destroy'])->name('maf_order.delete');
|
|
|
- Route::post('maf_orders/set_in_stock/{maf_order}', [MafOrderController::class, 'setInStock'])->name('maf_order.set_in_stock');
|
|
|
+
|
|
|
+
|
|
|
|
|
|
Route::get('reclamations', [ReclamationController::class, 'index'])->name('reclamations.index');
|
|
|
- Route::post('reclamations/create/{order}', [ReclamationController::class, 'create'])->name('reclamations.create');
|
|
|
Route::get('reclamations/show/{reclamation}', [ReclamationController::class, 'show'])->name('reclamations.show');
|
|
|
- Route::post('reclamations/update/{reclamation}', [ReclamationController::class, 'update'])->name('reclamations.update');
|
|
|
|
|
|
- Route::post('reclamations/{reclamation}/upload-document', [ReclamationController::class, 'uploadDocument'])->name('reclamations.upload-document');
|
|
|
+
|
|
|
Route::post('reclamations/{reclamation}/upload-photo-before', [ReclamationController::class, 'uploadPhotoBefore'])->name('reclamations.upload-photo-before');
|
|
|
Route::post('reclamations/{reclamation}/upload-photo-after', [ReclamationController::class, 'uploadPhotoAfter'])->name('reclamations.upload-photo-after');
|
|
|
- Route::post('reclamations/{reclamation}/upload-act', [ReclamationController::class, 'uploadAct'])->name('reclamations.upload-act');
|
|
|
- Route::post('reclamations/{reclamation}/update-details', [ReclamationController::class, 'updateDetails'])->name('reclamations.update-details');
|
|
|
-
|
|
|
- Route::get('reports', [ReportController::class, 'index'])->name('reports.index');
|
|
|
|
|
|
Route::get('schedule', [ScheduleController::class, 'index'])->name('schedule.index');
|
|
|
- Route::post('schedule/create_from_order', [ScheduleController::class, 'createFromOrder'])->name('schedule.create-from-order');
|
|
|
- Route::post('schedule/update', [ScheduleController::class, 'update'])->name('schedule.update');
|
|
|
- Route::delete('schedule/delete/{schedule}', [ScheduleController::class, 'delete'])->name('schedule.delete');
|
|
|
+
|
|
|
|
|
|
// ajax search products
|
|
|
Route::get('product/search', [ProductController::class, 'search'])->name('product.search');
|