diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 9bef2263..5316a5dc 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -82,7 +82,6 @@ class RequestPortalController extends Controller 'start_date' => $request->start_date, 'end_date' => $request->end_date, 'request_date' => now(), - 'description' => $request->item_str . ' - ' . $request->sub_item_str, 'end_point' => $request->end_point, 'encoded_route' => $request->encoded_route, 'category_id' => $request->category_id, @@ -136,6 +135,8 @@ class RequestPortalController extends Controller $machine = CMMSMachine::query()->find($request->machine_id, ['id', 'machine_code', 'car_type']); $newMission = Mission::query()->create([ + 'item_id' => $request->item_id, + 'sub_item_id' => $request->sub_item_id, 'user_id' => $user->id, 'username' => $user->username, 'province_id' => $user->province_id, @@ -153,7 +154,6 @@ class RequestPortalController extends Controller 'start_date' => now(), 'end_date' => $request->end_date, 'request_date' => now(), - 'description' => $request->description, 'end_point' => $request->end_point, 'encoded_route' => $request->encoded_route, 'category_id' => $request->category_id, @@ -184,6 +184,8 @@ class RequestPortalController extends Controller DB::transaction(function () use ($mission, $request) { $state = MissionStates::REQUEST_CREATED->value; $mission->update([ + 'item_id' => $request->item_id, + 'sub_item_id' => $request->sub_item_id, 'state_id' => $state, 'state_name' => MissionStates::name($state), 'requested_machines' => json_encode($request->requested_machines), @@ -193,7 +195,6 @@ class RequestPortalController extends Controller 'zone_fa' => MissionZones::name($request->zone), 'start_date' => $request->start_date, 'end_date' => $request->end_date, - 'description' => $request->description, 'end_point' => $request->end_point, 'encoded_route' => $request->encoded_route, 'category_id' => $request->category_id, @@ -246,6 +247,8 @@ class RequestPortalController extends Controller $machine = CMMSMachine::query()->where('machine_code', '=', $violation->machine_code)->first(['id', 'machine_code', 'car_type']); $mission = Mission::query()->create([ + 'item_id' => $request->item_id, + 'sub_item_id' => $request->sub_item_id, 'user_id' => $user->id, 'username' => $user->username, 'province_id' => $user->province_id, diff --git a/app/Http/Requests/V3/Mission/RequestPortal/ClarifyUnauthorizedExitRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/ClarifyUnauthorizedExitRequest.php index a0129c2c..54eeb4f6 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/ClarifyUnauthorizedExitRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/ClarifyUnauthorizedExitRequest.php @@ -25,6 +25,8 @@ class ClarifyUnauthorizedExitRequest extends FormRequest public function rules(): array { return [ + 'item_id' => 'required|exists:info_items,item', + 'sub_item_id' => 'required|exists:info_items,sub_item', 'rahdaran' => 'array', 'rahdaran.*' => 'exists:rahdaran,id', 'driver' => 'required|integer|exists:rahdaran,id', diff --git a/app/Http/Requests/V3/Mission/RequestPortal/ContinueMissionRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/ContinueMissionRequest.php index 46fc0cea..8b75bd61 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/ContinueMissionRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/ContinueMissionRequest.php @@ -26,6 +26,8 @@ class ContinueMissionRequest extends FormRequest public function rules(): array { return [ + 'item_id' => 'required|exists:info_items,item', + 'sub_item_id' => 'required|exists:info_items,sub_item', 'rahdaran' => 'array', 'rahdaran.*' => 'exists:rahdaran,id', 'machine_id' => 'required|integer|exists:cmms_machines,id', @@ -33,7 +35,6 @@ class ContinueMissionRequest extends FormRequest 'type' => 'required|in:1,2', 'zone' => 'required|in:1,2,3', 'end_date' => 'required|date', - 'description' => 'string', 'end_point' => 'required|string', 'encoded_route' => 'required|string', 'explanation' => 'required|string', diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index eefde710..7f586a8f 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -34,7 +34,6 @@ class StoreRequest extends FormRequest 'zone' => 'required|in:1,2,3', 'start_date' => 'required|date', 'end_date' => 'required|date', - 'description' => 'string', 'end_point' => 'required|string', 'encoded_route' => 'required|string', 'explanation' => 'required|string', diff --git a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php index ce8858fa..04e38858 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php @@ -26,6 +26,8 @@ class UpdateRequest extends FormRequest public function rules(): array { return [ + 'item_id' => 'required|exists:info_items,item', + 'sub_item_id' => 'required|exists:info_items,sub_item', 'rahdaran' => 'array', 'rahdaran.*' => 'exists:rahdaran,id', 'requested_machines' => 'required|array', @@ -33,7 +35,6 @@ class UpdateRequest extends FormRequest 'zone' => 'required|in:1,2,3', 'start_date' => 'required|date', 'end_date' => 'required|date', - 'description' => 'string', 'end_point' => 'required|string', 'encoded_route' => 'required|string', 'explanation' => 'required|string', diff --git a/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php b/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php index c5d763d2..f48c14f9 100644 --- a/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php +++ b/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php @@ -13,8 +13,8 @@ class DeallocateRequest extends FormRequest */ public function authorize(): bool { - return $this->mission->station_id == auth()->user()->station_id && - in_array($this->mission->state_id, [MissionStates::REQUEST_CREATED->value, MissionStates::PENDING_CONFIRMATION->value]) + return ($this->mission->station_id == auth()->user()->station_id && + in_array($this->mission->state_id, [MissionStates::REQUEST_CREATED->value, MissionStates::PENDING_CONFIRMATION->value])) || auth()->user()->username === 'witel'; } diff --git a/app/Models/MissionViolation.php b/app/Models/MissionViolation.php index ad94c62a..31457d90 100644 --- a/app/Models/MissionViolation.php +++ b/app/Models/MissionViolation.php @@ -10,7 +10,7 @@ use Illuminate\Database\Eloquent\Relations\HasOne; class MissionViolation extends Model { use HasFactory; - protected $guarded =[]; + protected $guarded =['id']; public function mission(): BelongsTo { diff --git a/database/migrations/2026_06_21_120836_add_item_and_subitems_to_missions_table.php b/database/migrations/2026_06_21_120836_add_item_and_subitems_to_missions_table.php index a04ad3cf..224a480f 100644 --- a/database/migrations/2026_06_21_120836_add_item_and_subitems_to_missions_table.php +++ b/database/migrations/2026_06_21_120836_add_item_and_subitems_to_missions_table.php @@ -23,7 +23,7 @@ return new class extends Migration public function down(): void { Schema::table('missions', function (Blueprint $table) { - // + $table->dropColumn('item_id', 'sub_item_id'); }); } };