File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -116,14 +116,19 @@ function has_super_admin_role($user): bool
116116 $ roleName = inspirecms_permissions ()->getSuperAdminRoleName ();
117117 $ guardName = AuthHelper::guardName ();
118118
119- if (method_exists ($ user , 'hasRole ' )) {
120- return $ user ->hasRole ($ roleName , $ guardName );
119+
120+ try {
121+ if (in_array ('Spatie\Permission\Traits\HasRoles ' , trait_uses_recursive ($ user ))) {
122+ return $ user ->hasRole ($ roleName , $ guardName );
121123
122- } elseif ($ user instanceof Model) {
123- return $ user ->relationLoaded ('roles ' )
124- ? $ user ->roles ->contains (fn ($ role ) => $ role ->name === $ roleName && $ role ->guard_name === $ guardName )
125- : $ user ->roles ()->where ('name ' , $ roleName )->where ('guard_name ' , $ guardName )->exists ();
124+ } elseif ($ user instanceof Model) {
125+ return $ user ->relationLoaded ('roles ' )
126+ ? $ user ->roles ->contains (fn ($ role ) => $ role ->name === $ roleName && $ role ->guard_name === $ guardName )
127+ : $ user ->roles ()->where ('name ' , $ roleName )->where ('guard_name ' , $ guardName )->exists ();
126128
129+ }
130+ } catch (\Throwable $ th ) {
131+ // Handle the exception if needed
127132 }
128133
129134 return false ;
You can’t perform that action at this time.
0 commit comments