From 99ce5133b0a462f762c5e11a0da040b1a0f5aede Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Wed, 23 Apr 2025 10:17:07 +0330 Subject: [PATCH] create form request for supervisor --- .../Dashboard/SafetyAndPrivacyController.php | 23 +++++++++------ .../V3/SafetyAndPrivacy/FinishRequest.php | 28 +++++++++++++++++++ .../V3/SafetyAndPrivacy/RejectRequest.php | 28 +++++++++++++++++++ .../SafetyAndPrivacyTableService.php | 8 +++--- routes/v3.php | 2 +- 5 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 app/Http/Requests/V3/SafetyAndPrivacy/FinishRequest.php create mode 100644 app/Http/Requests/V3/SafetyAndPrivacy/RejectRequest.php diff --git a/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacyController.php b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacyController.php index afb45a7d..c89b5842 100644 --- a/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacyController.php +++ b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacyController.php @@ -9,6 +9,8 @@ use App\Exports\V3\SafetyAndPrivacy\CartableReport; use App\Facades\DataTable\DataTableFacade; use App\Facades\File\FileFacade; use App\Http\Controllers\Controller; +use App\Http\Requests\V3\SafetyAndPrivacy\FinishRequest; +use App\Http\Requests\V3\SafetyAndPrivacy\RejectRequest; use App\Http\Requests\V3\SafetyAndPrivacy\FirstStepStoreRequest; use App\Http\Requests\V3\SafetyAndPrivacy\SecondStepStoreRequest; use App\Http\Requests\V3\SafetyAndPrivacy\ThirdStepStoreRequest; @@ -60,6 +62,7 @@ class SafetyAndPrivacyController extends Controller DB::transaction(function () use ($request, $coordinates, $item, $nominatimService, $user) { + $step = SafetyAndPrivacySteps::SHENASAEI->value; $safety_and_privacy = SafetyAndPrivacy::query()->create([ 'lat' => $coordinates[0], 'lon' => $coordinates[1], @@ -77,9 +80,10 @@ class SafetyAndPrivacyController extends Controller 'way_id' => $nominatimService->get_way_id_from_nominatim($coordinates[0], $coordinates[1]), 'axis_type_id' => $request->axis_type_id, 'axis_type_name' => AxisTypes::name($request->axis_type_id), - 'step' => SafetyAndPrivacySteps::SHENASAEI->value, - 'step_fa' => SafetyAndPrivacySteps::name(1), - 'is_finished' => false + 'step' => $step, + 'step_fa' => SafetyAndPrivacySteps::name($step), + 'is_finished' => false, + 'final_description' => 'پیام سیستمی : این عملیات پس از طی تمامی گام ها خاتمه یافت' ]); $safety_and_privacy->recognize_picture = $request->has('recognize_picture') ? @@ -103,11 +107,12 @@ class SafetyAndPrivacyController extends Controller foreach ($request->judiciary_document as $index => $file) { $judiciary_document[] = FileFacade::save($file, "safety_and_privacy/{$safetyAndPrivacy->id}/judiciary_document"); } + $step = SafetyAndPrivacySteps::MOSTANADAT_GAZAEI->value; $safetyAndPrivacy->update([ 'judiciary_document' => serialize($judiciary_document), 'judiciary_document_upload_date' => now(), 'step' => SafetyAndPrivacySteps::MOSTANADAT_GAZAEI->value, - 'step_fa' => SafetyAndPrivacySteps::name(2), + 'step_fa' => SafetyAndPrivacySteps::name($step), ]); $user->addActivityComplete(1135); @@ -121,9 +126,10 @@ class SafetyAndPrivacyController extends Controller $user = auth()->user(); DB::transaction(function () use ($request, $safetyAndPrivacy, $user) { + $step = SafetyAndPrivacySteps::BARKHORD->value; $safetyAndPrivacy->update([ 'step' => SafetyAndPrivacySteps::BARKHORD->value, - 'step_fa' => SafetyAndPrivacySteps::name(3), + 'step_fa' => SafetyAndPrivacySteps::name($step), 'action_picture' => FileFacade::save($request->action_picture, "safety_and_privacy/{$safetyAndPrivacy->id}/action_picture"), 'action_picture_document_upload_date' => now(), 'action_date' => $request->action_date, @@ -200,20 +206,19 @@ class SafetyAndPrivacyController extends Controller )); } - public function confirm(Request $request, SafetyAndPrivacy $safetyAndPrivacy): JsonResponse + public function confirm(SafetyAndPrivacy $safetyAndPrivacy): JsonResponse { $status_id = SafetyAndPrivacyStatus::CONFIRM->value; $safetyAndPrivacy->update([ 'status' => SafetyAndPrivacyStatus::CONFIRM->value, 'status_fa' => SafetyAndPrivacyStatus::name($status_id), - 'supervisor_description' => $request->supervisor_description ]); return $this->successResponse(); } - public function reject(Request $request, SafetyAndPrivacy $safetyAndPrivacy): JsonResponse + public function reject(RejectRequest $request, SafetyAndPrivacy $safetyAndPrivacy): JsonResponse { $status_id = SafetyAndPrivacyStatus::REJECT->value; @@ -226,7 +231,7 @@ class SafetyAndPrivacyController extends Controller return $this->successResponse(); } - public function finish(Request $request, SafetyAndPrivacy $safetyAndPrivacy): JsonResponse + public function finish(FinishRequest $request, SafetyAndPrivacy $safetyAndPrivacy): JsonResponse { $status_id = SafetyAndPrivacyStatus::PENDING->value; diff --git a/app/Http/Requests/V3/SafetyAndPrivacy/FinishRequest.php b/app/Http/Requests/V3/SafetyAndPrivacy/FinishRequest.php new file mode 100644 index 00000000..a8cb30bc --- /dev/null +++ b/app/Http/Requests/V3/SafetyAndPrivacy/FinishRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + 'final_description' => 'required|string', + ]; + } +} diff --git a/app/Http/Requests/V3/SafetyAndPrivacy/RejectRequest.php b/app/Http/Requests/V3/SafetyAndPrivacy/RejectRequest.php new file mode 100644 index 00000000..7ddc7700 --- /dev/null +++ b/app/Http/Requests/V3/SafetyAndPrivacy/RejectRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + 'supervisor_description' => 'required|string', + ]; + } +} diff --git a/app/Services/Cartables/SafetyAndPrivacyTableService.php b/app/Services/Cartables/SafetyAndPrivacyTableService.php index 8aca0a54..40f70cc4 100644 --- a/app/Services/Cartables/SafetyAndPrivacyTableService.php +++ b/app/Services/Cartables/SafetyAndPrivacyTableService.php @@ -22,10 +22,10 @@ class SafetyAndPrivacyTableService { $user = auth()->user(); - $fields = ['id','lat','lon','province_id','province_fa','city_id','city_fa','edare_shahri_id','edare_shahri_name', - 'recognize_picture','action_picture','operator_id','operator_name','way_id','created_at','updated_at','step', - 'info_id','info_fa','activity_date_time', 'action_picture_document_upload_date', 'judiciary_document_upload_date', - 'step_fa', 'axis_type_id', 'axis_type_name', 'action_date' + $fields = ['id','lat','lon', 'province_fa', 'edare_shahri_name', + 'recognize_picture','action_picture','created_at','step', 'final_description', + 'info_fa', 'activity_date_time', 'action_picture_document_upload_date', 'judiciary_document_upload_date', + 'step_fa', 'axis_type_id', 'axis_type_name', 'action_date', 'is_finished', 'status_fa', 'supervisor_description' ]; if ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable')) { diff --git a/routes/v3.php b/routes/v3.php index d0924334..55ab1d3f 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -337,7 +337,7 @@ Route::prefix('safety_and_privacy') ->name('SafetyAndPrivacy.') ->controller(SafetyAndPrivacyController::class) ->group(function () { - Route::get('/', 'operatorIndex')->name('operatorIndex')->middleware('permission:show-safety-and-privacy-operator-cartable|show-safety-and-privacy-operator-cartable-province|show-safety-and-privacy-operator-cartable-edarate-shahri'); + Route::get('/operator_index', 'operatorIndex')->name('operatorIndex')->middleware('permission:show-safety-and-privacy-operator-cartable|show-safety-and-privacy-operator-cartable-province|show-safety-and-privacy-operator-cartable-edarate-shahri'); Route::get('/excel_report', 'excelReport')->name('excelReport')->middleware('permission:show-safety-and-privacy-operator-cartable|show-safety-and-privacy-operator-cartable-province|show-safety-and-privacy-operator-cartable-edarate-shahri'); Route::post('/first_step_store', 'firstStepStore')->name('firstStepStore') ->middleware(['validate-store-access', 'permission:add-safety-and-privacy']);