uac.pm: add admin permission

admin permission is no more dependent on the name
of the role, but can be assigned to any role.
Users assigned to admin role have all permissions.
This commit is contained in:
Milan
2023-03-21 23:11:33 +01:00
parent 92554ebe95
commit 2c0bf5887b
4 changed files with 23 additions and 8 deletions

View File

@@ -151,8 +151,14 @@ sub save_roles {
}
} elsif ( $column eq 'role' ) {
$values->{$id}->{$column} = $value;
} elsif ( $column eq 'admin' ) {
if ( $permissions->{is_admin} ){
$values->{$id}->{$column} = $value;
} else {
uac::permissions_denied("set admin!");
return;
}
} elsif ( $column eq 'id' || $column eq 'project_id' || $column eq 'studio_id' ) {
#id and studio id will be set later
} else {
$values->{$id}->{$column} = 1 if ( $value =~ /^\d+$/ );
@@ -309,7 +315,6 @@ sub show_roles {
}
for my $role (@$roles) {
my $id = $role->{id} || '';
my $value = $role->{role} || '';
my $style = '';