]> git.proxmox.com Git - pve-access-control.git/blobdiff - PVE/API2/User.pm
allow to delete all groups
[pve-access-control.git] / PVE / API2 / User.pm
index 0637f765fda580392562bdfd35a175aa098e2a1e..a9198699f97bcd1038c3d4dbaa833d3217c8e661 100644 (file)
@@ -38,7 +38,13 @@ __PACKAGE__->register_method ({
     description => "User index.",
     parameters => {
        additionalProperties => 0,
-       properties => {},
+       properties => {
+           enabled => {
+               type => 'boolean',
+               description => "Optional filter for enable property.",
+               optional => 1,
+           }
+       },
     },
     returns => {
        type => 'array',
@@ -59,8 +65,14 @@ __PACKAGE__->register_method ({
  
        foreach my $user (keys %{$usercfg->{users}}) {
            next if $user eq 'root';
-
+           
            my $entry = &$extract_user_data($usercfg->{users}->{$user});
+
+           if (defined($param->{enabled})) {
+               next if $entry->{enable} && !$param->{enabled};
+               next if !$entry->{enable} && $param->{enabled};
+           }
+
            $entry->{userid} = $user;
            push @$res, $entry;
        }
@@ -235,7 +247,7 @@ __PACKAGE__->register_method ({
                $usercfg->{users}->{$username}->{expire} = $param->{expire} if defined($param->{expire});
 
                PVE::AccessControl::delete_user_group($username, $usercfg) 
-                   if (!$param->{append} && $param->{groups});
+                   if (!$param->{append} && defined($param->{groups}));
 
                if ($param->{groups}) {
                    foreach my $group (split_list($param->{groups})) {