From df68dca9dc1c3e7c9c1fc8509b4c1c6e16cd9972 Mon Sep 17 00:00:00 2001 From: snipe Date: Sat, 25 Oct 2025 18:57:17 +0100 Subject: [PATCH] Warn if user has individual permission overrides --- app/Models/User.php | 18 ++++++++++++++++++ resources/views/users/view.blade.php | 6 ++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/Models/User.php b/app/Models/User.php index fda296ff91..a55acc3310 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -224,6 +224,24 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo return false; } + public function hasIndividualPermissions() { + + if (is_object($this->permissions)) { + $permissions = json_decode(json_encode($this->permissions), true); + } + + if (is_string($this->permissions)) { + $permissions = json_decode($this->permissions, true); + } + + foreach ($permissions as $permission) { + if ($permission != 0) { + return true; + } + } + return false; + } + /** * Internally check the user permission for the given section * diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index a5e1a915f1..63984ba0c8 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -426,17 +426,19 @@
@if ($user->groups->count() > 0) @foreach ($user->groups as $group) - @can('superadmin') {{ $group->name }} @else {{ $group->name }} @endcan - @endforeach @else -- @endif + + @if ($user->hasIndividualPermissions()) + This user has at least one individual permission set. + @endif