From b25ce4bfe2c268d84ee3cdd16011f67f4ce5c48f Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Mon, 14 Apr 2025 10:47:11 +0330 Subject: [PATCH] create map for rahdari point --- .../RoadMaintenanceStationController.php | 38 ++++++++++++++----- app/Models/PointFile.php | 7 +++- .../SafetyAndPrivacy/CartableReport.blade.php | 10 ++--- routes/v3.php | 2 + 4 files changed, 40 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php b/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php index b59790da..bef19a2b 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadMaintenanceStationController.php @@ -36,7 +36,7 @@ class RoadMaintenanceStationController extends Controller $status = $request->status; $type = $request->type; - $query = RahdariPoint::with('files') + $query = RahdariPoint::query() ->when($status, fn ($query, $status) => $query->where('status', $status)) ->when($type, fn ($query, $type) => $query->where('type', $type)) ->when($province, fn($query, $province) => $query->where('province_id', $province)); @@ -113,11 +113,11 @@ class RoadMaintenanceStationController extends Controller ]); $uploadPaths = [ - 'overview_files_1' => 'road_stations', - 'overview_files_2' => 'road_stations', - 'overview_files_3' => 'road_stations', - 'overview_files_4' => 'road_stations', - 'overview_files_5' => 'road_stations', + 'overview_files_1' => "road_stations/{$station->id}", + 'overview_files_2' => "road_stations/{$station->id}", + 'overview_files_3' => "road_stations/{$station->id}", + 'overview_files_4' => "road_stations/{$station->id}", + 'overview_files_5' => "road_stations/{$station->id}", ]; foreach ($uploadPaths as $field => $path) { @@ -136,7 +136,7 @@ class RoadMaintenanceStationController extends Controller */ public function show(RahdariPoint $rahdariPoint): JsonResponse { - return $this->successResponse($rahdariPoint->load('files')); + return $this->successResponse($rahdariPoint); } /** @@ -201,13 +201,13 @@ class RoadMaintenanceStationController extends Controller if ($request->hasFile($field)) { $existingFile = $rahdariPoint->files->get($index); - $newPath = FileFacade::save($request->field, 'rahdari_points/overview'); + $path = FileFacade::save($request->$field, "road_stations/{$rahdariPoint->id}"); if ($existingFile) { FileFacade::delete($existingFile->path); - $existingFile->update(['path' => $newPath]); + $existingFile->update(['path' => $path]); } else { - $rahdariPoint->files()->create(['path' => $newPath]); + $rahdariPoint->files()->create(['path' => $path]); } } } @@ -229,4 +229,22 @@ class RoadMaintenanceStationController extends Controller return $this->successResponse(); } + + public function images(RahdariPoint $rahdariPoint): JsonResponse + { + return $this->successResponse($rahdariPoint->files()->get(['path'])); + } + + public function map(Request $request): JsonResponse + { + auth()->user()->addActivityComplete(1023); + + return response()->json(DataTableFacade::run( + RahdariPoint::query(), + $request, + allowedFilters: ['*'], + allowedSortings: ['*'], + allowedSelects: ['id', 'lat', 'lng', 'status', 'type'], + )); + } } diff --git a/app/Models/PointFile.php b/app/Models/PointFile.php index 4c59eb93..67638dca 100644 --- a/app/Models/PointFile.php +++ b/app/Models/PointFile.php @@ -3,6 +3,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\MorphTo; class PointFile extends Model { @@ -25,13 +26,15 @@ class PointFile extends Model * @var array */ protected $fillable = [ - 'path' + 'path', + 'point_fileable_id', + 'point_fileable_type', ]; /** * Get the owning point_fileable model. */ - public function point_fileable() + public function point_fileable(): MorphTo { return $this->morphTo(); } diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/CartableReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/CartableReport.blade.php index 1888c78a..c1065678 100644 --- a/resources/views/v3/Reports/SafetyAndPrivacy/CartableReport.blade.php +++ b/resources/views/v3/Reports/SafetyAndPrivacy/CartableReport.blade.php @@ -21,18 +21,18 @@ - - - @@ -72,7 +72,7 @@ diff --git a/routes/v3.php b/routes/v3.php index 54310f34..53df4d15 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -394,6 +394,8 @@ Route::prefix('road_maintenance_station') ->group(function () { Route::get('/', 'index')->name('index')->middleware('permission:show-tollhouse|show-tollhouse-province'); Route::post('/', 'store')->name('store'); + Route::post('/map', 'map')->name('map'); + Route::post('/images/{rahdariPoint}', 'images')->name('images'); Route::get('/{rahdariPoint}', 'show')->name('show')->middleware('permission:show-tollhouse|show-tollhouse-province'); Route::post('/{rahdariPoint}', 'update')->name('update')->middleware('permission:edit-tollhouse|edit-tollhouse-province'); Route::delete('/{rahdariPoint}', 'destroy')->name('destroy')->middleware('permission:delete-tollhouse|delete-tollhouse-province');
تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }}
گزارش فعالیت های نگهداری حریم راه - تاریخ ثبت اقدام + تاریخ اقدام @@ -97,7 +97,7 @@ - {{ $item['action_picture_document_upload_date'] ? verta($item['action_picture_document_upload_date'])->format('Y/n/j H:i:s') : '-' }} + {{ $item['action_picture_document_upload_date'] ? verta($item['action_date'])->format('Y/n/j H:i:s') : '-' }} {{ $item['step_fa'] ?? '-' }}