diff --git a/app/Http/Requests/V3/RoadPatrolProject/StoreRequest.php b/app/Http/Requests/V3/RoadPatrolProject/StoreRequest.php index b0986e4b..d75d82db 100644 --- a/app/Http/Requests/V3/RoadPatrolProject/StoreRequest.php +++ b/app/Http/Requests/V3/RoadPatrolProject/StoreRequest.php @@ -27,7 +27,7 @@ class StoreRequest extends FormRequest 'distance' => 'numeric', 'start_time' => 'required|date_format:Y-m-d H:i', 'end_time' => 'required|date_format:Y-m-d H:i|after:start_time', - 'fuel_consumption' => 'required|integer', + 'fuel_consumption' => 'required|numeric', 'vehicle_runtime' => 'required|integer', 'stop_points' => 'required|array', 'road_patrol_machines_id' => 'required|array', @@ -38,9 +38,9 @@ class StoreRequest extends FormRequest 'observed_items' => 'array', 'observed_items.*.item_id' => 'required|integer', 'observed_items.*.sub_item_id' => 'required|integer', - 'observed_items.*.local_name' => 'required', 'observed_items.*.description' => '', 'observed_items.*.instant_action' => 'required|in:0,1', + 'observed_items.*.local_name' => 'required_if:observed_items.*.instant_action,0', // road item projects fields 'observed_items.*.start_point' => 'required', @@ -50,7 +50,7 @@ class StoreRequest extends FormRequest 'observed_items.*.after_image' => 'image|max:4096', 'observed_items.*.priority' => 'integer|in:1,2,3|required_if:observed_items.*.instant_action,0', 'observed_items.*.priority_fa' => 'string|required_if:observed_items.*.instant_action,0', - 'description' => 'string|required_with:observed_items', + 'description' => 'string', 'observed_items.*.road_item_machines_id' => 'required_if:observed_items.*.instant_action,1|array', 'observed_items.*.road_item_machines_id.*' => 'required_if:observed_items.*.instant_action,1|exists:cmms_machines,id', diff --git a/app/Models/RoadPatrol.php b/app/Models/RoadPatrol.php index c39af8c2..19ff01bd 100644 --- a/app/Models/RoadPatrol.php +++ b/app/Models/RoadPatrol.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphToMany; +use Illuminate\Database\Eloquent\Casts\Attribute; class RoadPatrol extends Model { @@ -13,6 +14,13 @@ class RoadPatrol extends Model protected $guarded = ['id']; + protected function stopPoints(): Attribute + { + return Attribute::make( + get: fn ($value) => $value ? json_decode($value) : null, + ); + } + public function observedItems(): HasMany { return $this->hasMany(ObservedItem::class); diff --git a/database/migrations/2025_01_27_085125_change_column_type_in_road_patrols_table.php b/database/migrations/2025_01_27_085125_change_column_type_in_road_patrols_table.php new file mode 100644 index 00000000..2c20efba --- /dev/null +++ b/database/migrations/2025_01_27_085125_change_column_type_in_road_patrols_table.php @@ -0,0 +1,28 @@ +string('fuel_consumption')->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('road_patrols', function (Blueprint $table) { + $table->integer('fuel_consumption')->change(); + }); + } +};