From 38ce1d760cbbb379087c13e5d7acfde7d8622f7a Mon Sep 17 00:00:00 2001 From: joddyabott Date: Sun, 25 May 2025 15:39:40 +0330 Subject: [PATCH 1/2] create middleware and use in route v3 and ignor one option in v2 route --- app/Http/Kernel.php | 1 + .../Middleware/CheckAxisTypeMiddleware.php | 33 +++++++++++++++++++ routes/v2.php | 3 ++ routes/v3.php | 4 +-- 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 app/Http/Middleware/CheckAxisTypeMiddleware.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 04705bf0..756d3797 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -78,6 +78,7 @@ class Kernel extends HttpKernel 'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class, 'role_or_permission' => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class, 'validate-store-access' => \App\Http\Middleware\ValidateStoreAccess::class, + 'check-axis-type' => \App\Http\Middleware\CheckAxisTypeMiddleware::class, ]; /** diff --git a/app/Http/Middleware/CheckAxisTypeMiddleware.php b/app/Http/Middleware/CheckAxisTypeMiddleware.php new file mode 100644 index 00000000..1a5bc8d1 --- /dev/null +++ b/app/Http/Middleware/CheckAxisTypeMiddleware.php @@ -0,0 +1,33 @@ +route('safetyAndPrivacy'); + + if (($s->step == 3 || $s->step == 2) && $s->axis_type_id) + { + throw new ProhibitedAction('ابتدا نوع محور را مشخص کنید'); + } + + return $next($request); + } +} diff --git a/routes/v2.php b/routes/v2.php index 19aff985..566c1a44 100644 --- a/routes/v2.php +++ b/routes/v2.php @@ -303,6 +303,9 @@ Route::get('map', function () { return view('version2.dashboard_pages.map'); })->name('v2.map'); +Route::any('/safety_and_privacy/{any?}', fn() => abort(404, 'not found')) + ->where('any', '.*'); + Route::prefix('safety_and_privacy')->group(function () { Route::get('/sub_item_list', 'V2\Dashboard\SafetyAndPrivacyController@subItemList'); diff --git a/routes/v3.php b/routes/v3.php index 2f92f48c..a4239c48 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -352,8 +352,8 @@ Route::prefix('safety_and_privacy') Route::post('operator/first_step_store', 'firstStepStore')->name('firstStepStore')->middleware(['validate-store-access', 'permission:add-safety-and-privacy']); Route::get('/sub_items', 'subItems')->name('subItems'); Route::get('/map', 'map')->name('map'); - Route::post('operator/second_step_store/{safetyAndPrivacy}', 'secondStepStore')->name('secondStepStore')->middleware(['validate-store-access','permission:add-safety-and-privacy']); - Route::post('operator/third_step_store/{safetyAndPrivacy}', 'thirdStepStore')->name('thirdStepStore')->middleware(['validate-store-access','permission:add-safety-and-privacy']); + Route::post('operator/second_step_store/{safetyAndPrivacy}', 'secondStepStore')->name('secondStepStore')->middleware(['validate-store-access','permission:add-safety-and-privacy','check-axis-type']); + Route::post('operator/third_step_store/{safetyAndPrivacy}', 'thirdStepStore')->name('thirdStepStore')->middleware(['validate-store-access','permission:add-safety-and-privacy','check-axis-type']); Route::post('operator/{safetyAndPrivacy}', 'update')->name('update')->middleware('permission:update-safety-and-privacy'); Route::get('operator/{safetyAndPrivacy}', 'show')->name('show'); Route::delete('operator/{safetyAndPrivacy}', 'destroy')->name('destroy')->middleware('permission:delete-safety-and-privacy'); From db33fc19f3424eec82b7ec69146ecbdfd7491603 Mon Sep 17 00:00:00 2001 From: joddyabott Date: Sun, 25 May 2025 16:04:22 +0330 Subject: [PATCH 2/2] fix middleware --- app/Http/Middleware/CheckAxisTypeMiddleware.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Middleware/CheckAxisTypeMiddleware.php b/app/Http/Middleware/CheckAxisTypeMiddleware.php index 1a5bc8d1..6c50a26b 100644 --- a/app/Http/Middleware/CheckAxisTypeMiddleware.php +++ b/app/Http/Middleware/CheckAxisTypeMiddleware.php @@ -23,7 +23,7 @@ class CheckAxisTypeMiddleware { $s = $request->route('safetyAndPrivacy'); - if (($s->step == 3 || $s->step == 2) && $s->axis_type_id) + if (($s->step == 3 || $s->step == 2) && is_null($s->axis_type_id)) { throw new ProhibitedAction('ابتدا نوع محور را مشخص کنید'); }