diff --git a/app/Models/User.php b/app/Models/User.php index 8987086..9324689 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -222,4 +222,18 @@ class User extends Authenticatable { return $this->options && array_key_exists($option, $this->options) ? $this->options[$option] : ''; } + + /** + * Check if user has roles + */ + public function doesntHaveRoles(): bool + { + if ($this->isMe()) { + return false; + } + + $this->loadMissing('roles'); + + return $this->roles->count() < 1; + } } diff --git a/app/Nova/Resources/Order/Loan/LoanOrder.php b/app/Nova/Resources/Order/Loan/LoanOrder.php index d4523cd..41e4c71 100644 --- a/app/Nova/Resources/Order/Loan/LoanOrder.php +++ b/app/Nova/Resources/Order/Loan/LoanOrder.php @@ -22,6 +22,7 @@ use App\Rules\DowranAgaAllowed; use App\Rules\OnlyLetters; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Gate; use Laravel\Nova\Fields\Date; use Laravel\Nova\Fields\Email; @@ -136,7 +137,9 @@ class LoanOrder extends Resource */ public static function afterCreate(NovaRequest $request, Model $model): void { - LoanOrderRepo::notifyUser($request, $model, __('Loan order created'), 'success', 'pencil'); + if ($request->user()->doesntHaveRoles()) { + LoanOrderRepo::notifyUser($request, $model, __('Loan order created'), 'success', 'pencil'); + } } /** @@ -148,7 +151,9 @@ class LoanOrder extends Resource */ public static function afterUpdate(NovaRequest $request, Model $model): void { - LoanOrderRepo::notifyUser($request, $model, __('Loan order updated'), 'info', 'pencil-alt'); + if ($request->user()->doesntHaveRoles()) { + LoanOrderRepo::notifyUser($request, $model, __('Loan order updated'), 'info', 'pencil-alt'); + } } /** @@ -160,7 +165,9 @@ class LoanOrder extends Resource */ public static function afterDelete(NovaRequest $request, Model $model): void { - LoanOrderRepo::notifyUser($request, $model, __('Loan order deleted'), 'error', 'trash'); + if ($request->user()->doesntHaveRoles()) { + LoanOrderRepo::notifyUser($request, $model, __('Loan order deleted'), 'error', 'trash'); + } } /**