From e72d6eb308ba62a97dbedcd197ad15af9bb11766 Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Wed, 22 Oct 2025 13:09:33 +0330 Subject: [PATCH] create form request ane new item for harim --- .../Harim/GeneralManagerController.php | 4 +-- .../Dashboard/Harim/HarimOfficeController.php | 27 +++++++++++++++- .../Harim/TechnicalDeputyController.php | 2 +- .../Dashboard/Harim/Deputy/ConfirmRequest.php | 2 +- .../Harim/Deputy/ConfirmRoadAccessRequest.php | 2 +- .../Dashboard/Harim/Deputy/ReferRequest.php | 2 +- .../Harim/Deputy/ReferRoadAccessRequest.php | 2 +- .../V3/Dashboard/Harim/Deputy/ShowRequest.php | 2 +- .../ConfirmGuaranteeLetterNeedRequest.php | 2 +- .../ConfirmNoRoadAccessNeedRequest.php | 2 +- .../ConfirmRoadAccessEditNeedRequest.php | 2 +- .../ConfirmRoadAccessNeedRequest.php | 2 +- .../Harim/GeneralManager/ReferFileRequest.php | 5 +-- .../Harim/GeneralManager/ReferRequest.php | 5 +-- .../Harim/GeneralManager/RejectRequest.php | 5 +-- .../Harim/GeneralManager/ShowRequest.php | 2 +- .../Harim/HarimOffice/FileAcceptedRequest.php | 2 +- .../Harim/HarimOffice/FileRejectedRequest.php | 2 +- .../HarimOffice/NeedRoadAccessRequest.php | 2 +- .../Harim/HarimOffice/ReferRequest.php | 31 +++++++++++++++++++ .../Harim/HarimOffice/RejectRequest.php | 2 +- .../Harim/HarimOffice/ShowRequest.php | 2 +- .../HarimOffice/WithoutRoadAccessRequest.php | 2 +- routes/v3.php | 1 + 24 files changed, 86 insertions(+), 26 deletions(-) create mode 100644 app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ReferRequest.php diff --git a/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php b/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php index 73685ed5..f2e2971f 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php @@ -32,9 +32,9 @@ class GeneralManagerController extends Controller public function index(Request $request): JsonResponse { $query = Harim::query() - ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); + ->where('province_id', '=', auth()->user()->province_id); - $data = DataTableFacade::run( + $data = DataTableFacade::run( $query, $request, allowedFilters: ['*'], diff --git a/app/Http/Controllers/V3/Dashboard/Harim/HarimOfficeController.php b/app/Http/Controllers/V3/Dashboard/Harim/HarimOfficeController.php index 242aa8d7..f739317a 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/HarimOfficeController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/HarimOfficeController.php @@ -8,6 +8,7 @@ use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\FileRejectedRequest; use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\FileAcceptedRequest; +use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\ReferRequest; use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\RejectRequest; use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\ShowRequest; use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\NeedRoadAccessRequest; @@ -26,7 +27,7 @@ class HarimOfficeController extends Controller public function index(Request $request): JsonResponse { $query = Harim::query() - ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); + ->where('province_id', '=', auth()->user()->province_id); $data = DataTableFacade::run( $query, @@ -64,6 +65,30 @@ class HarimOfficeController extends Controller return $this->successResponse(); } + public function referRequest(ReferRequest $request, Harim $harim): JsonResponse + { + DB::transaction(function () use ($request,$harim) { + $action = HarimAction::REFER->value; + + $harim->histories()->create([ + 'expert_id' => auth()->user()->id, + 'previous_state_id' => $harim->state_id, + 'previous_state_name' => $harim->state_name, + 'expert_description' => $request->expert_description, + 'action_id' => $action, + 'action_name' => HarimAction::name($action), + ]); + + $state = HarimStates::BARESI_EDARE_SHAHRESTAN->value; + + $harim->update([ + 'state_id' => $state, + 'state_name' => HarimStates::name($state), + ]); + }); + + return $this->successResponse(); + } public function needRoadAccess(NeedRoadAccessRequest $request, Harim $harim): JsonResponse { diff --git a/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php b/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php index b9004306..646a87b8 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php @@ -23,7 +23,7 @@ class TechnicalDeputyController extends Controller public function index(Request $request): JsonResponse { $query = Harim::query() - ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); + ->where('province_id', '=', auth()->user()->province_id); $data = DataTableFacade::run( $query, diff --git a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRequest.php b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRequest.php index f754eb14..732e9418 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRequest.php @@ -12,7 +12,7 @@ class ConfirmRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MOAVEN->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRoadAccessRequest.php b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRoadAccessRequest.php index 119e6524..667b6e72 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRoadAccessRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ConfirmRoadAccessRequest.php @@ -13,7 +13,7 @@ class ConfirmRoadAccessRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRequest.php b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRequest.php index 335de432..267b9347 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRequest.php @@ -12,7 +12,7 @@ class ReferRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MOAVEN->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRoadAccessRequest.php b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRoadAccessRequest.php index 3cd3e81c..18209903 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRoadAccessRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ReferRoadAccessRequest.php @@ -12,7 +12,7 @@ class ReferRoadAccessRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ShowRequest.php b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ShowRequest.php index f23097b6..5e91af0c 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/Deputy/ShowRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/Deputy/ShowRequest.php @@ -12,7 +12,7 @@ class ShowRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id; + return $this->harim->province_id == auth()->user()->province_id; } /** diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmGuaranteeLetterNeedRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmGuaranteeLetterNeedRequest.php index 6c943ebe..8bbc5e5d 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmGuaranteeLetterNeedRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmGuaranteeLetterNeedRequest.php @@ -12,7 +12,7 @@ class ConfirmGuaranteeLetterNeedRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmNoRoadAccessNeedRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmNoRoadAccessNeedRequest.php index 94a60116..8a43cb52 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmNoRoadAccessNeedRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmNoRoadAccessNeedRequest.php @@ -12,7 +12,7 @@ class ConfirmNoRoadAccessNeedRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessEditNeedRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessEditNeedRequest.php index 5d4649f5..d42fd1ad 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessEditNeedRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessEditNeedRequest.php @@ -12,7 +12,7 @@ class ConfirmRoadAccessEditNeedRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessNeedRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessNeedRequest.php index 9176609a..8763cc5f 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessNeedRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ConfirmRoadAccessNeedRequest.php @@ -12,7 +12,7 @@ class ConfirmRoadAccessNeedRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferFileRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferFileRequest.php index ea8ab9ed..4ab18be5 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferFileRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferFileRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager; use App\Enums\HarimStates; +use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; class ReferFileRequest extends FormRequest @@ -12,14 +13,14 @@ class ReferFileRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value; } /** * Get the validation rules that apply to the request. * - * @return array|string> + * @return array */ public function rules(): array { diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferRequest.php index 931578ee..7d881cc6 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ReferRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager; use App\Enums\HarimStates; +use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; class ReferRequest extends FormRequest @@ -12,14 +13,14 @@ class ReferRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value; } /** * Get the validation rules that apply to the request. * - * @return array|string> + * @return array */ public function rules(): array { diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/RejectRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/RejectRequest.php index 1d90ab5d..92bd37e0 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/RejectRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/RejectRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager; use App\Enums\HarimStates; +use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; class RejectRequest extends FormRequest @@ -12,14 +13,14 @@ class RejectRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value; } /** * Get the validation rules that apply to the request. * - * @return array|string> + * @return array */ public function rules(): array { diff --git a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ShowRequest.php b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ShowRequest.php index 22904351..a432ac99 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ShowRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/GeneralManager/ShowRequest.php @@ -12,7 +12,7 @@ class ShowRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id; + return $this->harim->province_id == auth()->user()->province_id; } /** diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileAcceptedRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileAcceptedRequest.php index 018d7de9..51c33c30 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileAcceptedRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileAcceptedRequest.php @@ -12,7 +12,7 @@ class FileAcceptedRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileRejectedRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileRejectedRequest.php index 5a95a458..9fb3966f 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileRejectedRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/FileRejectedRequest.php @@ -12,7 +12,7 @@ class FileRejectedRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/NeedRoadAccessRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/NeedRoadAccessRequest.php index e7dd187a..927fbd74 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/NeedRoadAccessRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/NeedRoadAccessRequest.php @@ -12,7 +12,7 @@ class NeedRoadAccessRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ReferRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ReferRequest.php new file mode 100644 index 00000000..fa12cae2 --- /dev/null +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ReferRequest.php @@ -0,0 +1,31 @@ +harim->province_id === auth()->user()->province_id && + $this->harim->state_id === HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules(): array + { + return [ + 'expert_description' => 'required|string', + ]; + } +} diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/RejectRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/RejectRequest.php index b072d879..37805379 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/RejectRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/RejectRequest.php @@ -12,7 +12,7 @@ class RejectRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ShowRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ShowRequest.php index 375a5581..332743a1 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ShowRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/ShowRequest.php @@ -13,7 +13,7 @@ class ShowRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id; + return $this->harim->province_id == auth()->user()->province_id; } diff --git a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/WithoutRoadAccessRequest.php b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/WithoutRoadAccessRequest.php index 17cb99e1..619bd34c 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/WithoutRoadAccessRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/HarimOffice/WithoutRoadAccessRequest.php @@ -12,7 +12,7 @@ class WithoutRoadAccessRequest extends FormRequest */ public function authorize(): bool { - return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + return $this->harim->province_id == auth()->user()->province_id && $this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value; } diff --git a/routes/v3.php b/routes/v3.php index 4496e71f..ae1d584f 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -550,6 +550,7 @@ Route::prefix('harim') Route::post('/file_accepted/{harim}', 'fileAccepted')->name('fileAccepted'); Route::post('/file_rejected/{harim}', 'fileRejected')->name('fileRejected'); Route::get('/{harim}', 'show')->name('show'); + Route::post('/refer_request/{harim}', 'referRequest')->name('referRequest'); }); Route::prefix('technical_deputy')