diff --git a/app/Http/Controllers/V3/Dashboard/Harim/ProvinceOfficeController.php b/app/Http/Controllers/V3/Dashboard/Harim/ProvinceOfficeController.php index 6a23b1aa..0e178706 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/ProvinceOfficeController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/ProvinceOfficeController.php @@ -7,6 +7,7 @@ use App\Enums\HarimStates; use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Dashboard\Harim\ProvinceOffice\FeedBackRequest; +use App\Http\Requests\V3\Dashboard\Harim\ProvinceOffice\ShowRequest; use App\Http\Traits\ApiResponse; use App\Models\Harim; use Illuminate\Http\JsonResponse; @@ -56,4 +57,9 @@ class ProvinceOfficeController extends Controller }); return $this->successResponse(); } + + public function show(ShowRequest $request, Harim $harim): JsonResponse + { + return $this->successResponse($harim); + } } diff --git a/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php b/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php index c45d9564..749a73ab 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/TechnicalDeputyController.php @@ -27,7 +27,7 @@ class TechnicalDeputyController extends Controller HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value, HarimStates::BARESI_TAVASOT_MOAVEN->value, ]) - ->where('edare_shahri_id', '=', auth()->user()->edarate_shahri_id); + ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); $data = DataTableFacade::run( $query, diff --git a/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/ShowRequest.php b/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/ShowRequest.php new file mode 100644 index 00000000..59739c40 --- /dev/null +++ b/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/ShowRequest.php @@ -0,0 +1,31 @@ +harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && + $this->harim->state_id == HarimStates::BARESI_EDARE_SHAHRESTAN->value; + } + + + /** + * Get the validation rules that apply to the request. + * + * @return array|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/app/Models/Harim.php b/app/Models/Harim.php index b0e51a75..96bc4cc2 100644 --- a/app/Models/Harim.php +++ b/app/Models/Harim.php @@ -2,6 +2,7 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -14,4 +15,12 @@ class Harim extends Model public function histories(): HasMany { return $this->hasMany(HarimHistory::class); - }} + } + + protected function polygon(): Attribute + { + return Attribute::make( + get: fn($value) => json_decode($value) + ); + } +} diff --git a/database/factories/HarimFactory.php b/database/factories/HarimFactory.php index 04773827..d5f07b19 100644 --- a/database/factories/HarimFactory.php +++ b/database/factories/HarimFactory.php @@ -21,7 +21,7 @@ class HarimFactory extends Factory public function definition(): array { return [ - 'state_id' => $this->faker->numberBetween(1,5), + 'state_id' => $this->faker->numberBetween(1,15), 'state_name' => function (array $attributes) { return HarimState::query()->find($attributes['state_id'])->name; }, @@ -32,11 +32,11 @@ class HarimFactory extends Factory 'request_date' => $this->faker->date(), 'province_id' => Province::factory(), 'province_name' => function (array $attributes) { - return Province::query()->find($attributes['province_id'])->name; + return Province::query()->find($attributes['province_id'])->name_fa; }, 'city_id' => City::factory(), 'city_name' => function (array $attributes) { - return City::query()->find($attributes['city_id'])->name; + return City::query()->find($attributes['city_id'])->name_fa; }, 'edareh_shahri_id' => EdarateShahri::factory(), 'county' => $this->faker->citySuffix, diff --git a/routes/v3.php b/routes/v3.php index f7ae4322..906a4ca0 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -518,6 +518,7 @@ Route::prefix('harim') ->group(function () { Route::get('/', 'index')->name('index'); Route::post('/feedback/{harim}', 'feedback')->name('feedback'); + Route::get('/{harim}', 'show')->name('show'); }); Route::prefix('harim_office') ->name('harim_office.')