From c99e98cd1a4e15c3116677b2c2d79c8f7d3bd9d5 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Thu, 29 May 2025 12:41:45 +0500 Subject: [PATCH] wip --- .../Card/CardTransaction/CardTransaction.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/app/Nova/Resources/Order/Card/CardTransaction/CardTransaction.php b/app/Nova/Resources/Order/Card/CardTransaction/CardTransaction.php index e817880..fe6776a 100644 --- a/app/Nova/Resources/Order/Card/CardTransaction/CardTransaction.php +++ b/app/Nova/Resources/Order/Card/CardTransaction/CardTransaction.php @@ -7,6 +7,7 @@ use App\Nova\Resource; use App\Nova\Resources\Order\Card\CardTransaction\Actions\DownloadCardTransaction; use App\Repos\System\Settings\Legal\PassportRepo; use Illuminate\Http\Request; +use Illuminate\Database\Eloquent\Builder; use Laravel\Nova\Fields\Hidden; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Select; @@ -54,6 +55,28 @@ class CardTransaction extends Resource return __('Card transaction'); } + /** + * Build an "index" query for the given resource. + * + * @param \Illuminate\Database\Eloquent\Builder<\App\Models\Order\Card\CardTransaction\CardTransaction> $query + * @return \Illuminate\Database\Eloquent\Builder<\App\Models\Order\Card\CardTransaction\CardTransaction> + */ + public static function indexQuery(NovaRequest $request, $query): Builder + { + /** @var \App\Models\User */ + $user = $request->user(); + + if ($user->isAdmin()) { + return $query; + } + + if ($user->isOperator() && count($user->branches()->pluck('branches.id')) < 1) { + return $query->whereIn('branch_id', $user->branches()->pluck('branches.id')); + } + + return $query->where('user_id', $user->id); + } + /** * Get the fields displayed by the resource. *