From 2f3ebf5808a9215eb95affb07aacb07aca02a3ec Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Tue, 9 Jun 2026 09:16:50 +0330 Subject: [PATCH 1/4] add driver_id and driver_name in mission --- .../Mission/RequestPortalController.php | 7 +++++ .../Mission/TransportationUnitController.php | 2 +- .../AllocateRequest.php | 5 ++-- .../DeallocateRequest.php | 0 ...30_093222_add_driver_to_missions_table.php | 29 +++++++++++++++++++ 5 files changed, 40 insertions(+), 3 deletions(-) rename app/Http/Requests/V3/Mission/{TransportaionUnit => TransportationUnit}/AllocateRequest.php (91%) rename app/Http/Requests/V3/Mission/{TransportaionUnit => TransportationUnit}/DeallocateRequest.php (100%) create mode 100644 database/migrations/2026_05_30_093222_add_driver_to_missions_table.php diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 9a3d5d50..f608aff2 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -16,6 +16,7 @@ use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use App\Models\Mission; +use App\Models\Rahdaran; use App\Models\RahdariPoint; use App\Models\RoadObserved; use App\Services\Cartables\Mission\RequestPortalService; @@ -43,6 +44,10 @@ class RequestPortalController extends Controller DB::transaction(function () use ($request) { $user = auth()->user(); + $driver = Rahdaran::query() + ->whereIn('id','=', $request->rahdaran) + ->where('is_driver', '=',1) + ->first(); $state = MissionStates::REQUEST_CREATED->value; $category = $request->category_id; @@ -74,6 +79,8 @@ class RequestPortalController extends Controller 'code' => rand(100000, 999999), 'station_id' => $user->station_id, 'station_name' => RahdariPoint::query()->find( $user->station_id)->name, + 'driver_id' => $driver->id, + 'driver_name' => $driver->name, ]); $mission->rahdaran()->sync($request->rahdaran); diff --git a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php index bbffd853..a693e9f7 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php @@ -5,8 +5,8 @@ namespace App\Http\Controllers\V3\Dashboard\Mission; use App\Enums\CmmsMachineStatus; use App\Enums\MissionStates; use App\Http\Controllers\Controller; -use App\Http\Requests\V3\Mission\TransportaionUnit\AllocateRequest; use App\Http\Requests\V3\Mission\TransportaionUnit\DeallocateRequest; +use App\Http\Requests\V3\Mission\TransportationUnit\AllocateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use App\Models\Mission; diff --git a/app/Http/Requests/V3/Mission/TransportaionUnit/AllocateRequest.php b/app/Http/Requests/V3/Mission/TransportationUnit/AllocateRequest.php similarity index 91% rename from app/Http/Requests/V3/Mission/TransportaionUnit/AllocateRequest.php rename to app/Http/Requests/V3/Mission/TransportationUnit/AllocateRequest.php index de093022..aa66b70c 100644 --- a/app/Http/Requests/V3/Mission/TransportaionUnit/AllocateRequest.php +++ b/app/Http/Requests/V3/Mission/TransportationUnit/AllocateRequest.php @@ -1,6 +1,6 @@ mission->edare_shahri_id == auth()->user()->edarate_shahri_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value; + return $this->mission->edare_shahri_id == auth()->user()->edarate_shahri_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value + || $this->user()?->username === 'witel'; } /** diff --git a/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php b/app/Http/Requests/V3/Mission/TransportationUnit/DeallocateRequest.php similarity index 100% rename from app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php rename to app/Http/Requests/V3/Mission/TransportationUnit/DeallocateRequest.php diff --git a/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php b/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php new file mode 100644 index 00000000..f51b5d5a --- /dev/null +++ b/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php @@ -0,0 +1,29 @@ +integer('driver_id')->unsigned()->nullable()->index(); + $table->string('driver_name')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('missions', function (Blueprint $table) { + $table->dropColumn('driver_name','driver_id'); + }); + } +}; -- 2.49.1 From aeb58ed27f6c2e42ce1488860bc3bd902dfb8b0f Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Wed, 10 Jun 2026 11:02:59 +0330 Subject: [PATCH 2/4] fix code --- .../V3/Dashboard/Mission/RequestPortalController.php | 6 ------ .../V3/Dashboard/Mission/TransportationUnitController.php | 2 +- .../AllocateRequest.php | 2 +- .../DeallocateRequest.php | 0 4 files changed, 2 insertions(+), 8 deletions(-) rename app/Http/Requests/V3/Mission/{TransportationUnit => TransportaionUnit}/AllocateRequest.php (96%) rename app/Http/Requests/V3/Mission/{TransportationUnit => TransportaionUnit}/DeallocateRequest.php (100%) diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index f608aff2..e706efcc 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -44,10 +44,6 @@ class RequestPortalController extends Controller DB::transaction(function () use ($request) { $user = auth()->user(); - $driver = Rahdaran::query() - ->whereIn('id','=', $request->rahdaran) - ->where('is_driver', '=',1) - ->first(); $state = MissionStates::REQUEST_CREATED->value; $category = $request->category_id; @@ -79,8 +75,6 @@ class RequestPortalController extends Controller 'code' => rand(100000, 999999), 'station_id' => $user->station_id, 'station_name' => RahdariPoint::query()->find( $user->station_id)->name, - 'driver_id' => $driver->id, - 'driver_name' => $driver->name, ]); $mission->rahdaran()->sync($request->rahdaran); diff --git a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php index a693e9f7..bbffd853 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php @@ -5,8 +5,8 @@ namespace App\Http\Controllers\V3\Dashboard\Mission; use App\Enums\CmmsMachineStatus; use App\Enums\MissionStates; use App\Http\Controllers\Controller; +use App\Http\Requests\V3\Mission\TransportaionUnit\AllocateRequest; use App\Http\Requests\V3\Mission\TransportaionUnit\DeallocateRequest; -use App\Http\Requests\V3\Mission\TransportationUnit\AllocateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use App\Models\Mission; diff --git a/app/Http/Requests/V3/Mission/TransportationUnit/AllocateRequest.php b/app/Http/Requests/V3/Mission/TransportaionUnit/AllocateRequest.php similarity index 96% rename from app/Http/Requests/V3/Mission/TransportationUnit/AllocateRequest.php rename to app/Http/Requests/V3/Mission/TransportaionUnit/AllocateRequest.php index aa66b70c..ceb0bf22 100644 --- a/app/Http/Requests/V3/Mission/TransportationUnit/AllocateRequest.php +++ b/app/Http/Requests/V3/Mission/TransportaionUnit/AllocateRequest.php @@ -1,6 +1,6 @@ Date: Wed, 10 Jun 2026 11:07:06 +0330 Subject: [PATCH 3/4] fix code for confilict --- .../V3/Dashboard/Mission/RequestPortalController.php | 1 - .../V3/Mission/TransportaionUnit/DeallocateRequest.php | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index e706efcc..9a3d5d50 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -16,7 +16,6 @@ use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use App\Models\Mission; -use App\Models\Rahdaran; use App\Models\RahdariPoint; use App\Models\RoadObserved; use App\Services\Cartables\Mission\RequestPortalService; diff --git a/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php b/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php index e2d94deb..e0504aa2 100644 --- a/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php +++ b/app/Http/Requests/V3/Mission/TransportaionUnit/DeallocateRequest.php @@ -14,7 +14,8 @@ class DeallocateRequest extends FormRequest public function authorize(): bool { return $this->mission->edare_shahri_id == auth()->user()->edarate_shahri_id && - in_array($this->mission->state_id, [MissionStates::REQUEST_CREATED->value, MissionStates::PENDING_CONFIRMATION->value]); + in_array($this->mission->state_id, [MissionStates::REQUEST_CREATED->value, MissionStates::PENDING_CONFIRMATION->value]) + || $this->user()?->username === 'witel'; } /** -- 2.49.1 From 235111ee57c7271d457954258424c8484a1221ba Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Wed, 10 Jun 2026 11:15:54 +0330 Subject: [PATCH 4/4] fix database for add driver mission --- .../2026_05_30_093222_add_driver_to_missions_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php b/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php index f51b5d5a..a58af0a7 100644 --- a/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php +++ b/database/migrations/2026_05_30_093222_add_driver_to_missions_table.php @@ -12,7 +12,7 @@ return new class extends Migration public function up(): void { Schema::table('missions', function (Blueprint $table) { - $table->integer('driver_id')->unsigned()->nullable()->index(); + $table->integer('driver_id')->nullable(); $table->string('driver_name')->nullable(); }); } -- 2.49.1