def permissions(self): """Render the permissions management web page. """ from ext.admin.widgets import PermissionCard, BlockUser, BlockList c.card = PermissionCard() c.block_user = BlockUser() c.block_list = BlockList() permissions = dict((p, []) for p in self.app.permissions) block_list = defaultdict(list) for ace in self.app.config.acl: if ace.access == model.ACE.ALLOW: try: permissions[ace.permission].append(ace.role_id) except KeyError: # old, unknown permission pass elif ace.access == model.ACE.DENY: role = model.ProjectRole.query.get(_id=ace.role_id) if role.name is None and role.user: block_list[ace.permission].append((role.user, ace.reason)) return dict(app=self.app, allow_config=has_access(c.project, 'admin')(), permissions=permissions, block_list=block_list)
def permissions(self): from ext.admin.widgets import PermissionCard c.card = PermissionCard() permissions = dict((p, []) for p in self.app.permissions) for ace in self.app.config.acl: if ace.access == model.ACE.ALLOW: try: permissions[ace.permission].append(ace.role_id) except KeyError: # old, unknown permission pass return dict(app=self.app, allow_config=has_access(c.project, 'admin')(), permissions=permissions)