diff --git a/app/Filament/Clusters/Cards/CardOrders/Pages/ListCardOrders.php b/app/Filament/Clusters/Cards/CardOrders/Pages/ListCardOrders.php index b309b45..4bcc909 100644 --- a/app/Filament/Clusters/Cards/CardOrders/Pages/ListCardOrders.php +++ b/app/Filament/Clusters/Cards/CardOrders/Pages/ListCardOrders.php @@ -21,7 +21,12 @@ class ListCardOrders extends ListRecords public function getTabs(): array { + if (! user()->isSystemUser()) { + return []; + } + $data = []; + foreach (array_keys(OrderStatusRepository::statusClasses()) as $status) { if ($status === '') { $data[null] = Tab::make(__('All')); diff --git a/app/Filament/Resources/Users/Schemas/UserForm.php b/app/Filament/Resources/Users/Schemas/UserForm.php index b69d3f4..0365006 100644 --- a/app/Filament/Resources/Users/Schemas/UserForm.php +++ b/app/Filament/Resources/Users/Schemas/UserForm.php @@ -32,6 +32,7 @@ class UserForm ->unique(ignoreRecord: true) ->mask('99 99 99 99') ->prefix('+993') + ->dehydrateStateUsing(fn($state) => unMaskTurkmenNumber($state)) ->rules([ new PhoneNumberVerificationRule, ]) diff --git a/app/Modules/CurrencyRate/Policies/CurrencyRatePolicy.php b/app/Modules/CurrencyRate/Policies/CurrencyRatePolicy.php new file mode 100644 index 0000000..0bd32ca --- /dev/null +++ b/app/Modules/CurrencyRate/Policies/CurrencyRatePolicy.php @@ -0,0 +1,69 @@ +can('ViewAny:CurrencyRate'); + } + + public function view(AuthUser $authUser, CurrencyRate $currencyRate): bool + { + return $authUser->can('View:CurrencyRate'); + } + + public function create(AuthUser $authUser): bool + { + return $authUser->can('Create:CurrencyRate'); + } + + public function update(AuthUser $authUser, CurrencyRate $currencyRate): bool + { + return $authUser->can('Update:CurrencyRate'); + } + + public function delete(AuthUser $authUser, CurrencyRate $currencyRate): bool + { + return $authUser->can('Delete:CurrencyRate'); + } + + public function restore(AuthUser $authUser, CurrencyRate $currencyRate): bool + { + return $authUser->can('Restore:CurrencyRate'); + } + + public function forceDelete(AuthUser $authUser, CurrencyRate $currencyRate): bool + { + return $authUser->can('ForceDelete:CurrencyRate'); + } + + public function forceDeleteAny(AuthUser $authUser): bool + { + return $authUser->can('ForceDeleteAny:CurrencyRate'); + } + + public function restoreAny(AuthUser $authUser): bool + { + return $authUser->can('RestoreAny:CurrencyRate'); + } + + public function replicate(AuthUser $authUser, CurrencyRate $currencyRate): bool + { + return $authUser->can('Replicate:CurrencyRate'); + } + + public function reorder(AuthUser $authUser): bool + { + return $authUser->can('Reorder:CurrencyRate'); + } +} diff --git a/app/Modules/UserAdjustments/Traits/RoleCheckers.php b/app/Modules/UserAdjustments/Traits/RoleCheckers.php index 5d950c8..a949a4d 100644 --- a/app/Modules/UserAdjustments/Traits/RoleCheckers.php +++ b/app/Modules/UserAdjustments/Traits/RoleCheckers.php @@ -57,6 +57,6 @@ trait RoleCheckers */ public function isSystemUser(): bool { - return $this->isAdmin() || $this->isOperator(); + return $this->isAdmin() || $this->isOperator() || $this->isCurrencyMaintainer(); } }