Ajustes varios de permisos y visuales
This commit is contained in:
@@ -10,68 +10,65 @@ class UserPolicy
|
||||
{
|
||||
public function before(User $user, string $ability): bool|null
|
||||
{
|
||||
$isAdmin = $user->roles()->whereIn('name', [RoleName::SuperAdmin, RoleName::Admin])->exists();
|
||||
|
||||
if (!$isAdmin) {
|
||||
if (!$user->isAn(RoleName::SuperAdmin, RoleName::Admin)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*/
|
||||
public function viewAny(User $user): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*/
|
||||
public function view(User $user, User $model): bool
|
||||
{
|
||||
if($model->isAn(RoleName::SuperAdmin)) {
|
||||
return $user->isAn(RoleName::SuperAdmin);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*/
|
||||
public function create(User $user): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*/
|
||||
public function createSuperAdmin(User $user): bool
|
||||
{
|
||||
return $user->isAn(RoleName::SuperAdmin);
|
||||
}
|
||||
|
||||
public function update(User $user, User $model): bool
|
||||
{
|
||||
if($model->isAn(RoleName::SuperAdmin)) {
|
||||
return $user->isAn(RoleName::SuperAdmin);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*/
|
||||
public function delete(User $user, User $model): bool
|
||||
{
|
||||
if($model->isAn(RoleName::SuperAdmin)) {
|
||||
return $user->isAn(RoleName::SuperAdmin);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*/
|
||||
public function restore(User $user, User $model): bool
|
||||
{
|
||||
if($model->isAn(RoleName::SuperAdmin)) {
|
||||
return $user->isAn(RoleName::SuperAdmin);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*/
|
||||
public function forceDelete(User $user, User $model): bool
|
||||
{
|
||||
if($model->isAn(RoleName::SuperAdmin)) {
|
||||
return $user->isAn(RoleName::SuperAdmin);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user