--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -510,9 +510,15 @@
permissions = self._index_permissions()
for args in card:
perm = args['id']
- permissions[perm] = []
new_group_ids = args.get('new', [])
group_ids = args.get('value', [])
+ # make sure the admin group has the admin permission
+ if perm == 'admin':
+ admin_group_id = str(M.ProjectRole.query.get(project_id=c.project._id, name='Admin')._id)
+ if admin_group_id not in group_ids:
+ flash('You cannot remove the admin group from the admin permission.','warning')
+ group_ids.append(admin_group_id)
+ permissions[perm] = []
if isinstance(new_group_ids, basestring):
new_group_ids = [ new_group_ids ]
if isinstance(group_ids, basestring):