Merge pull request #59 from witelgroup/feature/ManageTelescopTime

Feature/manage telescop time
This commit is contained in:
Amir Ghasempoor
2025-10-01 12:02:32 +03:30
committed by GitHub
3 changed files with 44 additions and 1 deletions

View File

@@ -7,11 +7,13 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Rahdaran\StoreRequest;
use App\Http\Requests\V3\Rahdaran\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Models\Rahdaran;
use Illuminate\Database\QueryException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class RahdaranController extends Controller
{
@@ -19,8 +21,16 @@ class RahdaranController extends Controller
public function index(Request $request): JsonResponse
{
$user = Auth::user();
$query = $user->hasPermissionTo('manage-rahdaran-country') ?
Rahdaran::query() :
($user->hasPermissionTo('manage-rahdaran-province') ?
Rahdaran::query()->where('province_id', '=', $user->province_id) :
Rahdaran::query()->where('edareh_shahri_id', '=', $user->edarate_shahri_id)
);
return response()->json(DataTableFacade::run(
Rahdaran::query(),
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'])
@@ -30,6 +40,7 @@ class RahdaranController extends Controller
public function store(StoreRequest $request): JsonResponse
{
$province = Province::query()->find($request->input('province_id'));
$edareh = EdarateShahri::query()->find($request->input('edareh_shahri_id'));
Rahdaran::query()->create([
'name' => $request->name,
@@ -38,6 +49,7 @@ class RahdaranController extends Controller
'province_id' => $province->id,
'province_name' => $province->name_fa,
'edareh_shahri_id' => $request->edareh_shahri_id,
'edareh_shahri_name' => $edareh->name_fa,
'is_driver' => $request->is_driver,
]);
@@ -52,6 +64,7 @@ class RahdaranController extends Controller
public function update(UpdateRequest $request, Rahdaran $rahdaran): JsonResponse
{
$province = Province::query()->find($request->input('province_id'));
$edareh = EdarateShahri::query()->find($request->input('edareh_shahri_id'));
$rahdaran->update([
'name' =>$request->name,
@@ -60,6 +73,7 @@ class RahdaranController extends Controller
'province_id' => $province->id,
'province_name' => $province->name_fa,
'edareh_shahri_id' => $request->edareh_shahri_id,
'edareh_shahri_name' => $edareh->name_fa,
'is_driver' => $request->is_driver,
]);

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('rahdaran', function (Blueprint $table) {
$table->string('edareh_shahri_name')->nullable()->after('edareh_shahri_id');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('rahdaran', function (Blueprint $table) {
$table->dropColumn('edareh_shahri_name');
});
}
};

View File

@@ -185,6 +185,7 @@ Route::prefix('cmms_machines')
Route::prefix('rahdaran')
->name('rahdaran.')
->middleware('permission:manage-rahdaran-province|manage-rahdaran-edareh|manage-rahdaran-country')
->controller(RahdaranController::class)
->group(function () {
Route::get('/', 'index')->name('index');