add new columns to harim cartables

This commit is contained in:
2025-09-16 09:19:36 +03:30
parent a51210ccfa
commit a78a4fdfdc
13 changed files with 38 additions and 33 deletions

View File

@@ -11,7 +11,7 @@ enum HarimStates: int
case BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM = 5; case BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM = 5;
case BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN = 6; case BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN = 6;
case BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL = 7; case BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL = 7;
case ERSAL_ZEMANAT_NAME_TAVASOTE_HARIM =8; case ERSAL_ZEMANAT_NAME_TAVASOTE_KARBAR =8;
case ERSAL_BE_PANJAREH_VAHED_NIAZ_BE_RAH_DASTRASI = 9; case ERSAL_BE_PANJAREH_VAHED_NIAZ_BE_RAH_DASTRASI = 9;
case EMKAN_PAZIR_NEMEBASHAD = 10; case EMKAN_PAZIR_NEMEBASHAD = 10;
case ERSAL_BE_PANJAREH_VAHED_BEDONEH_NIAZ_BE_RAH_DASTRASI = 11; case ERSAL_BE_PANJAREH_VAHED_BEDONEH_NIAZ_BE_RAH_DASTRASI = 11;

View File

@@ -32,7 +32,6 @@ class GeneralManagerController extends Controller
public function index(Request $request): JsonResponse public function index(Request $request): JsonResponse
{ {
$query = Harim::query() $query = Harim::query()
->whereIn('state_id', [HarimStates::BARESI_TAVASOT_MODIR_KOL->value, HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value])
->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id);
$data = DataTableFacade::run( $data = DataTableFacade::run(
@@ -41,6 +40,7 @@ class GeneralManagerController extends Controller
allowedFilters: ['*'], allowedFilters: ['*'],
allowedSortings: ['*'] allowedSortings: ['*']
); );
return response()->json($data); return response()->json($data);
} }

View File

@@ -14,6 +14,7 @@ use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\NeedRoadAccessRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\WithoutRoadAccessRequest; use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\WithoutRoadAccessRequest;
use App\Http\Traits\ApiResponse; use App\Http\Traits\ApiResponse;
use App\Models\Harim; use App\Models\Harim;
use App\Models\Province;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
@@ -25,10 +26,6 @@ class HarimOfficeController extends Controller
public function index(Request $request): JsonResponse public function index(Request $request): JsonResponse
{ {
$query = Harim::query() $query = Harim::query()
->whereIn('state_id', [
HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value,
])
->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id);
$data = DataTableFacade::run( $data = DataTableFacade::run(
@@ -63,6 +60,7 @@ class HarimOfficeController extends Controller
'is_possible' => false, 'is_possible' => false,
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
@@ -87,12 +85,13 @@ class HarimOfficeController extends Controller
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
'is_possible' => true, 'is_possible' => true,
'need_access_road' => true, 'need_access_road' => true,
'need_payment' => $request->need_payment
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
public function withoutRoadAccess(WithoutRoadAccessRequest $request, Harim $harim): JsonResponse public function withoutRoadAccess(WithoutRoadAccessRequest $request, Harim $harim): JsonResponse
{ {
DB::transaction(function () use ($request,$harim) { DB::transaction(function () use ($request,$harim) {
@@ -113,8 +112,10 @@ class HarimOfficeController extends Controller
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
'is_possible' => true, 'is_possible' => true,
'need_access_road' => false, 'need_access_road' => false,
'need_payment' => $request->need_payment
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
public function fileAccepted(FileAcceptedRequest $request, Harim $harim): JsonResponse public function fileAccepted(FileAcceptedRequest $request, Harim $harim): JsonResponse
@@ -138,6 +139,7 @@ class HarimOfficeController extends Controller
'access_road_allowed' => true, 'access_road_allowed' => true,
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
public function fileRejected(FileRejectedRequest $request, Harim $harim): JsonResponse public function fileRejected(FileRejectedRequest $request, Harim $harim): JsonResponse
@@ -161,11 +163,22 @@ class HarimOfficeController extends Controller
'access_road_allowed' => false, 'access_road_allowed' => false,
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
public function show(ShowRequest $request, Harim $harim): JsonResponse public function show(ShowRequest $request, Harim $harim): JsonResponse
{ {
return $this->successResponse($harim->load('histories')); return $this->successResponse($harim->load('histories'));
}
public function referToCity(Request $request, Harim $harim)
{
$province = Province::query()->find($request->province_id);
$harim->update([
'edareh_shahri_id' => $request->edarate_shahri_id,
'province_id' => $province->id,
'province_name' => $province->name_fa,
]);
} }
} }

View File

@@ -22,7 +22,6 @@ class ProvinceOfficeController extends Controller
{ {
$user = auth()->user(); $user = auth()->user();
$query = Harim::query() $query = Harim::query()
->where('state_id', '=', HarimStates::BARESI_EDARE_SHAHRESTAN->value)
->where('edareh_shahri_id', '=', $user->edarate_shahri_id); ->where('edareh_shahri_id', '=', $user->edarate_shahri_id);
$data = DataTableFacade::run( $data = DataTableFacade::run(
@@ -53,6 +52,7 @@ class ProvinceOfficeController extends Controller
$harim ->update([ $harim ->update([
'state_id' => $state, 'state_id' => $state,
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
'forbidden_area' => $request->input('forbidden_area'),
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();

View File

@@ -23,10 +23,6 @@ class TechnicalDeputyController extends Controller
public function index(Request $request): JsonResponse public function index(Request $request): JsonResponse
{ {
$query = Harim::query() $query = Harim::query()
->whereIn('state_id', [
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value,
HarimStates::BARESI_TAVASOT_MOAVEN->value,
])
->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id); ->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id);
$data = DataTableFacade::run( $data = DataTableFacade::run(
@@ -59,8 +55,8 @@ class TechnicalDeputyController extends Controller
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
]); ]);
}); });
return $this->successResponse();
return $this->successResponse();
} }
public function referRequest(ReferRequest $request, Harim $harim): JsonResponse public function referRequest(ReferRequest $request, Harim $harim): JsonResponse
{ {
@@ -83,6 +79,7 @@ class TechnicalDeputyController extends Controller
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
public function confirmRoadAccess(ConfirmRoadAccessRequest $request, Harim $harim): JsonResponse public function confirmRoadAccess(ConfirmRoadAccessRequest $request, Harim $harim): JsonResponse
@@ -105,6 +102,7 @@ class TechnicalDeputyController extends Controller
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
@@ -128,11 +126,11 @@ class TechnicalDeputyController extends Controller
'state_name' => HarimStates::name($state), 'state_name' => HarimStates::name($state),
]); ]);
}); });
return $this->successResponse(); return $this->successResponse();
} }
public function show(ShowRequest $request, Harim $harim): JsonResponse public function show(ShowRequest $request, Harim $harim): JsonResponse
{ {
return $this->successResponse($harim->load('histories')); return $this->successResponse($harim->load('histories'));
} }
} }

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy; namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates; use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
class ConfirmRoadAccessRequest extends FormRequest class ConfirmRoadAccessRequest extends FormRequest
@@ -19,7 +20,7 @@ class ConfirmRoadAccessRequest extends FormRequest
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string> * @return array<string, ValidationRule|array|string>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@@ -12,11 +12,7 @@ class ShowRequest extends FormRequest
*/ */
public function authorize(): bool public function authorize(): bool
{ {
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id;
in_array($this->harim->state_id, [
HarimStates::BARESI_TAVASOT_MOAVEN->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value,
]);
} }
/** /**

View File

@@ -12,11 +12,7 @@ class ShowRequest extends FormRequest
*/ */
public function authorize(): bool public function authorize(): bool
{ {
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id;
in_array($this->harim->state_id, [
HarimStates::BARESI_TAVASOT_MODIR_KOL->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value
]);
} }
/** /**

View File

@@ -25,6 +25,7 @@ class NeedRoadAccessRequest extends FormRequest
{ {
return [ return [
'expert_description' => 'required|string', 'expert_description' => 'required|string',
'need_payment' => 'required|in:0,1',
]; ];
} }
} }

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice; namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates; use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
class ShowRequest extends FormRequest class ShowRequest extends FormRequest
@@ -12,18 +13,14 @@ class ShowRequest extends FormRequest
*/ */
public function authorize(): bool public function authorize(): bool
{ {
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id;
in_array($this->harim->state_id, [
HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value,
]);
} }
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string> * @return array<string, ValidationRule|array|string>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@@ -25,6 +25,7 @@ class WithoutRoadAccessRequest extends FormRequest
{ {
return [ return [
'expert_description' => 'required|string', 'expert_description' => 'required|string',
'need_payment' => 'required|in:0,1',
]; ];
} }
} }

View File

@@ -25,6 +25,9 @@ class FeedBackRequest extends FormRequest
{ {
return [ return [
'expert_description' => 'required|string', 'expert_description' => 'required|string',
'forbidden_area' => 'required|array',
'forbidden_area.type' => 'required|string',
'forbidden_area.coordinates' => 'required|array',
]; ];
} }
} }

View File

@@ -12,8 +12,7 @@ class ShowRequest extends FormRequest
*/ */
public function authorize(): bool public function authorize(): bool
{ {
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id && return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id;
$this->harim->state_id == HarimStates::BARESI_EDARE_SHAHRESTAN->value;
} }