diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 82bff184..43e9b865 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -11,6 +11,7 @@ use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest; use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\Mission; +use App\Models\RoadObserved; use App\Services\Cartables\Mission\RequestPortalService; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -59,7 +60,10 @@ class RequestPortalController extends Controller $mission->rahdaran()->attach($request->rahdaran); if ($request->category_id == 3){ - $mission->roadObserved()->attach($request->road_observed_id); + RoadObserved::query() + ->find($request->road_observed_id) + ->missions() + ->attach($mission->id); } }); diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index 1c9018ae..537de257 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -39,7 +39,7 @@ class StoreRequest extends FormRequest 'area.coordinates' => 'required|array', 'explanation' => 'required|string', 'category_id' => 'required|in:1,2,3', - 'road_observed_id' => 'required_if:category_id,3|exists:road_observed,id', + 'road_observed_id' => 'required_if:category_id,3|exists:road_observeds,id', ]; } @@ -48,17 +48,15 @@ class StoreRequest extends FormRequest return [ function (Validator $validator) { if ($this->type === 1){ - $start = Carbon::parse($this->start_date); $end = Carbon::parse($this->end_date); - if ($start->diffInMinutes($end) > 480 ){ + if ($start->diffInMinutes($end) > 480){ $validator->errors()->add( 'end_date', - 'مدت مأموریت روزانه نباید بیشتر از ۸ ساعت باشد.' + 'مدت زمان مأموریت ساعتی نباید بیشتر از ۸ ساعت باشد.' ); } - } } ]; diff --git a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php index 18082c7f..293c2e37 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php @@ -40,27 +40,24 @@ class UpdateRequest extends FormRequest 'area.coordinates' => 'required|array', 'explanation' => 'required|string', 'category_id' => 'required|in:1,2,3', - 'road_observed_id' => 'required_if:category_id,3|exists:road_observed,id', + 'road_observed_id' => 'required_if:category_id,3|exists:road_observeds,id', ]; } - public function after(): array { return [ function (Validator $validator) { if ($this->type === 1){ - $start = Carbon::parse($this->start_date); $end = Carbon::parse($this->end_date); - if ($start->diffInMinutes($end) > 480 ){ + if ($start->diffInMinutes($end) > 480){ $validator->errors()->add( 'end_date', - 'مدت مأموریت روزانه نباید بیشتر از ۸ ساعت باشد.' + 'مدت زمان مأموریت ساعتی نباید بیشتر از ۸ ساعت باشد.' ); } - } } ]; diff --git a/app/Models/Mission.php b/app/Models/Mission.php index 5e9408cd..3f29202d 100644 --- a/app/Models/Mission.php +++ b/app/Models/Mission.php @@ -70,6 +70,11 @@ class Mission extends Model public function roadObserved(): MorphToMany { - return $this->morphToMany(RoadObserved::class, 'missionable'); + return $this->morphToMany(RoadObserved::class, + 'missionable', + 'missionables', + 'mission_id', + 'missionable_id', + ); } }