From f6f5bc4aa4f5fd02c7b71130602ffa10fbf24178 Mon Sep 17 00:00:00 2001 From: joddyabott Date: Mon, 19 May 2025 09:23:45 +0330 Subject: [PATCH] compleate controller --- .../Dashboard/Mission/CartableController.php | 44 ++++++++++++------- app/Http/Requests/V3/Mission/StoreRequest.php | 24 ++++------ .../Requests/V3/Mission/UpdateRequest.php | 14 +++++- app/Services/Mission/CartableService.php | 13 ------ 4 files changed, 48 insertions(+), 47 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Mission/CartableController.php b/app/Http/Controllers/V3/Dashboard/Mission/CartableController.php index 853e91fa..fde01024 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/CartableController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/CartableController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\V3\Dashboard\Mission; use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Mission\StoreRequest; +use App\Http\Requests\V3\Mission\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use App\Models\Mission; @@ -17,6 +18,7 @@ use Illuminate\Support\Facades\DB; class CartableController extends Controller { use ApiResponse; + public function index(Request $request,CartableService $cartableService): JsonResponse { return response()->json($cartableService->datatable($request)); @@ -40,33 +42,43 @@ class CartableController extends Controller 'end_point' =>$request->end_point, ]); - if ($request->filled('machine_id')) { - $mission->machines()->attach($request->machine_ids); - } - - if ($request->filled('rahdar_id')) { - $mission->rahdars()->attach($request->rahdar_ids); - } + $mission->rahdaran()->attach($request->rahdaran_id); return $this->successResponse(); } - - public function show(Request $request,Mission $mission,CartableService $cartableService): JsonResponse + public function show(Mission $mission): JsonResponse { - return response()->json($cartableService->getMission($request->user(), $mission)); + return $this->successResponse($mission); } - - public function update(Request $request, string $id) + public function update(UpdateRequest $request,Mission $mission) { - // + $mission->update([ + 'state_id' => $request->state_id, + 'state_name' => $request->state_name, + 'requested_machine_type' =>$request->requested_machine_type, + 'requested_machine_numbers' =>$request->requested_machine_numbers, + 'type' =>$request->type, + 'start_date' =>$request->start_date, + 'end_date' =>$request->end_date, + 'request_date' =>$request->request_date, + 'description' =>$request->description, + 'start_point' =>$request->start_point, + 'end_point' =>$request->end_point, + ]); + + $mission->rahdaran()->attach($request->rahdaran_id); + + return $this->successResponse(); + } - - public function destroy(string $id) + public function destroy(Mission $mission) { - // + $mission->delete(); + return $this->successResponse($mission); + } } diff --git a/app/Http/Requests/V3/Mission/StoreRequest.php b/app/Http/Requests/V3/Mission/StoreRequest.php index ceaf036e..ef3a86e3 100644 --- a/app/Http/Requests/V3/Mission/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/StoreRequest.php @@ -11,11 +11,7 @@ class StoreRequest extends FormRequest */ public function authorize(): bool { - $user = $this->user(); - return $user->hasPermissionTo('mission-manage-country') || - ($user->hasPermissionTo('mission-manage-province') && $this->province_id == $user->province_id)|| - ($user->hasPermissionTo('mission-manage-city') && $this->province_id == $user->province_id && $this->city_id == $user->city_id); - + return true; } /** @@ -26,21 +22,17 @@ class StoreRequest extends FormRequest public function rules(): array { return [ - 'machine_id' => 'nullable|exists:cmms_machines|id', - 'machine_id.*' => 'exists:cmms_machines,id', - 'rahdar_id' => 'required|exists:rahdaran|id', - 'rahdar_id.*' => 'exists:rahdaran,id', - 'state_id' => 'required|exists:mission_states|id', - 'state_name' => 'required|string|max:255', + 'rahdaran_id' => 'required|array', + 'rahdaran_id.*' => 'exists:rahdaran,id', 'requested_machine_type' => 'required|string|max:255', - 'requested_machine_numbers'=> 'required|string|max:255', - 'type' => 'required'|'string'|'max:50', + 'requested_machine_numbers'=> 'required|integer|max:255', + 'type' => 'required|string|max:50', 'start_date' => 'required|date', 'end_date' => 'required|date', 'request_date' => 'required|date', - 'description' => 'nullable|string', - 'start_point' => 'required|string|max:255', - 'end_point' => 'required|string|max:255', + 'description' => 'string', + 'start_point' => 'required|string', + 'end_point' => 'required|string', ]; } } diff --git a/app/Http/Requests/V3/Mission/UpdateRequest.php b/app/Http/Requests/V3/Mission/UpdateRequest.php index 59fd052d..fb913c6f 100644 --- a/app/Http/Requests/V3/Mission/UpdateRequest.php +++ b/app/Http/Requests/V3/Mission/UpdateRequest.php @@ -11,7 +11,7 @@ class UpdateRequest extends FormRequest */ public function authorize(): bool { - return false; + return true; } /** @@ -22,7 +22,17 @@ class UpdateRequest extends FormRequest public function rules(): array { return [ - // + 'rahdaran_id' => 'required|array', + 'rahdaran_id.*' => 'exists:rahdaran,id', + 'requested_machine_type' => 'required|string|max:255', + 'requested_machine_numbers'=> 'required|integer|max:255', + 'type' => 'required|string|max:50', + 'start_date' => 'required|date', + 'end_date' => 'required|date', + 'request_date' => 'required|date', + 'description' => 'string', + 'start_point' => 'required|string', + 'end_point' => 'required|string', ]; } } diff --git a/app/Services/Mission/CartableService.php b/app/Services/Mission/CartableService.php index 0cd41492..36c72781 100644 --- a/app/Services/Mission/CartableService.php +++ b/app/Services/Mission/CartableService.php @@ -36,17 +36,4 @@ class CartableService ); } - public function getMission(User $user, Mission $mission): Mission - { - $allowed = - $user->hasPermissionTo('mission-manage-country') || - ($user->hasPermissionTo('mission-manage-province') && - $mission->province_id === $user->province_id) || - ($user->hasPermissionTo('mission-manage-city') && - $mission->city_id === $user->edarate_shahri_id); - - abort_unless($allowed, 403); - - return $mission->load(['machines','rahdars']); - } } \ No newline at end of file