summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/user.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/plugins/user.py')
-rw-r--r--ipalib/plugins/user.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py
index b48e68022..7e98bba4c 100644
--- a/ipalib/plugins/user.py
+++ b/ipalib/plugins/user.py
@@ -544,8 +544,13 @@ class user_del(LDAPDelete):
msg_summary = _('Deleted user "%(value)s"')
- def post_callback(self, ldap, dn, *keys, **options):
- return True
+ def pre_callback(self, ldap, dn, *keys, **options):
+ protected_group_name = u'admins'
+ result = api.Command.group_show(protected_group_name)
+ if result['result'].get('member_user', []) == [keys[-1]]:
+ raise errors.LastMemberError(key=keys[-1], label=_(u'group'),
+ container=protected_group_name)
+ return dn
api.register(user_del)