コード例 #1
0
    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)
コード例 #2
0
 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)