]> git.proxmox.com Git - pve-access-control.git/blobdiff - PVE/API2/Role.pm
style fix
[pve-access-control.git] / PVE / API2 / Role.pm
index 452fc6d5e1437173306a96431f92c5eaba7bf645..adbb4db77017e6d83783d9ac03b1349910474756 100644 (file)
@@ -42,8 +42,11 @@ __PACKAGE__->register_method ({
 
        foreach my $role (keys %{$usercfg->{roles}}) {
            my $privs = join(',', sort keys %{$usercfg->{roles}->{$role}});
-           push @$res, { roleid => $role, privs => $privs,
-               special => PVE::AccessControl::role_is_special($role) };
+           push @$res, {
+               roleid => $role,
+               privs => $privs,
+               special => PVE::AccessControl::role_is_special($role),
+           };
        }
 
        return $res;
@@ -183,19 +186,18 @@ __PACKAGE__->register_method ({
     code => sub {
        my ($param) = @_;
 
-       PVE::AccessControl::lock_user_config(
-           sub {
+       my $role = $param->{roleid};
 
-               my $role = $param->{roleid};
+       die "auto-generated role '$role' cannot be deleted\n"
+           if PVE::AccessControl::role_is_special($role);
 
+       PVE::AccessControl::lock_user_config(
+           sub {
                my $usercfg = cfs_read_file("user.cfg");
 
                die "role '$role' does not exist\n"
                    if !$usercfg->{roles}->{$role};
 
-               die "auto-generated role '$role' can not be deleted\n"
-                   if PVE::AccessControl::role_is_special($role);
-
                delete ($usercfg->{roles}->{$role});
 
                # fixme: delete role from acl?