From e780b46aabbf02abb1c5247a005f485526cb1d3e Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Mon, 27 Sep 2021 15:46:26 +0200 Subject: [PATCH] api: delete user: better communicate partial deletion this is really an edge case and should not happen often in practice, the time window is small and deletions are not _that_ common, but still. Signed-off-by: Thomas Lamprecht --- src/PVE/API2/User.pm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/PVE/API2/User.pm b/src/PVE/API2/User.pm index 06cc680..8893d03 100644 --- a/src/PVE/API2/User.pm +++ b/src/PVE/API2/User.pm @@ -451,11 +451,19 @@ __PACKAGE__->register_method ({ # know that it's OK to drop any TFA entry in that case. delete $usercfg->{users}->{$userid}; - PVE::AccessControl::user_set_tfa($userid, $realm, undef, undef, $usercfg, $domain_cfg); - - PVE::AccessControl::delete_user_group($userid, $usercfg); - PVE::AccessControl::delete_user_acl($userid, $usercfg); - cfs_write_file("user.cfg", $usercfg); + my $partial_deletion = ''; + eval { + PVE::AccessControl::user_set_tfa($userid, $realm, undef, undef, $usercfg, $domain_cfg); + $partial_deletion = ' - but deleted related TFA'; + + PVE::AccessControl::delete_user_group($userid, $usercfg); + $partial_deletion .= ', Groups'; + PVE::AccessControl::delete_user_acl($userid, $usercfg); + $partial_deletion .= ', ACLs'; + + cfs_write_file("user.cfg", $usercfg); + }; + die "$@$partial_deletion\n" if $@; }, "delete user failed"); return undef; -- 2.39.2