Switch to unified view

a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
...
...
508
    @require_post()
508
    @require_post()
509
    def update(self, card=None, **kw):
509
    def update(self, card=None, **kw):
510
        permissions = self._index_permissions()
510
        permissions = self._index_permissions()
511
        for args in card:
511
        for args in card:
512
            perm = args['id']
512
            perm = args['id']
513
            permissions[perm] = []
514
            new_group_ids = args.get('new', [])
513
            new_group_ids = args.get('new', [])
515
            group_ids = args.get('value', [])
514
            group_ids = args.get('value', [])
515
            # make sure the admin group has the admin permission
516
            if perm == 'admin':
517
                admin_group_id = str(M.ProjectRole.query.get(project_id=c.project._id, name='Admin')._id)
518
                if admin_group_id not in group_ids:
519
                    flash('You cannot remove the admin group from the admin permission.','warning')
520
                    group_ids.append(admin_group_id)
521
            permissions[perm] = []
516
            if isinstance(new_group_ids, basestring):
522
            if isinstance(new_group_ids, basestring):
517
                new_group_ids = [ new_group_ids ]
523
                new_group_ids = [ new_group_ids ]
518
            if isinstance(group_ids, basestring):
524
            if isinstance(group_ids, basestring):
519
                group_ids = [ group_ids ]
525
                group_ids = [ group_ids ]
520
            role_ids = map(ObjectId, group_ids + new_group_ids)
526
            role_ids = map(ObjectId, group_ids + new_group_ids)