36 lines
1.0 KiB
PHP
36 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Services\Cartables\Mission;
|
|
|
|
use App\Facades\DataTable\DataTableFacade;
|
|
use App\Models\MissionViolation;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class DailyMoveMachineService
|
|
{
|
|
public function dataTable(Request $request)
|
|
{
|
|
$user = Auth::user();
|
|
|
|
$query = MissionViolation::query();
|
|
|
|
if ($user->hasPermissionTo('manage-violation-station')) {
|
|
$query->whereRelation('machine', 'station_id', '=', $user->station_id);
|
|
}
|
|
elseif ($user->hasPermissionTo('manage-violation-city')) {
|
|
$query->whereRelation('machine', 'city_id', '=', $user->city_id);
|
|
}
|
|
elseif ($user->hasPermissionTo('manage-violation-province')) {
|
|
$query->whereRelation('machine', 'province_id', '=', $user->province_id);
|
|
}
|
|
|
|
return DataTableFacade::run(
|
|
MissionViolation::query(),
|
|
$request,
|
|
allowedFilters: ['*'],
|
|
allowedSortings: ['*'],
|
|
);
|
|
}
|
|
}
|