Ejemplo n.º 1
0
    def permission_settings(self, permission=None):
        """Return user-role permission settings.

        If 'permission' is passed to the method then only the settings for
        'permission' is returned.
        """
        result = []
        valid = self.valid_roles()
        indexes = range(len(valid))
        ip = 0

        permissions = self.ac_inherited_permissions(1)
        # Filter permissions
        if permission:
            permissions = [p for p in permissions if p[0] == permission]

        for p in permissions:
            name, value = p[:2]
            p = Permission(name, value, self)
            roles = p.getRoles(default=[])
            d = {
                'name':
                name,
                'acquire':
                isinstance(roles, list) and 'CHECKED' or '',
                'roles':
                map(lambda ir, roles=roles, valid=valid, ip=ip: {
                    'name': "p%dr%d" % (ip, ir),
                    'checked': (valid[ir] in roles) and 'CHECKED' or '',
                },
                    indexes)
            }
            ip = ip + 1
            result.append(d)
        return result
Ejemplo n.º 2
0
    def permission_settings(self, permission=None):
        """Return user-role permission settings.

        If 'permission' is passed to the method then only the settings for
        'permission' is returned.
        """
        result=[]
        valid=self.valid_roles()
        indexes=range(len(valid))
        ip=0

        permissions = self.ac_inherited_permissions(1)
        # Filter permissions
        if permission:
            permissions = [p for p in permissions if p[0] == permission]

        for p in permissions:
            name, value = p[:2]
            p=Permission(name,value,self)
            roles=p.getRoles(default=[])
            d={'name': name,
               'acquire': isinstance(roles, list) and 'CHECKED' or '',
               'roles': map(
                   lambda ir, roles=roles, valid=valid, ip=ip:
                   {
                       'name': "p%dr%d" % (ip,ir),
                       'checked': (valid[ir] in roles) and 'CHECKED' or '',
                       },
                   indexes)
               }
            ip=ip+1
            result.append(d)
        return result
Ejemplo n.º 3
0
    def acquiredRolesAreUsedBy(self, permission):
        "used by management screen"
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            if name==permission:
                p=Permission(name,value,self)
                roles=p.getRoles()
                return type(roles) is ListType and 'CHECKED' or ''

        raise 'Invalid Permission', (
            "The permission <em>%s</em> is invalid." % escape(permission))
Ejemplo n.º 4
0
 def permissionsOfRole(self, role):
     "used by management screen"
     r=[]
     for p in self.ac_inherited_permissions(1):
         name, value = p[:2]
         p=Permission(name,value,self)
         roles=p.getRoles()
         r.append({'name': name,
                   'selected': role in roles and 'SELECTED' or '',
                   })
     return r
Ejemplo n.º 5
0
    def acquiredRolesAreUsedBy(self, permission):
        """Used by management screen.
        """
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            if name == permission:
                p = Permission(name, value, self)
                roles = p.getRoles()
                return isinstance(roles, list) and 'CHECKED' or ''

        raise ValueError, ("The permission <em>%s</em> is invalid." %
                           escape(permission))
Ejemplo n.º 6
0
    def acquiredRolesAreUsedBy(self, permission):
        """Used by management screen.
        """
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            if name==permission:
                p=Permission(name,value,self)
                roles=p.getRoles()
                return isinstance(roles, list) and 'CHECKED' or ''

        raise ValueError, (
            "The permission <em>%s</em> is invalid." % escape(permission))
Ejemplo n.º 7
0
    def manage_acquiredPermissions(self, permissions=[], REQUEST=None):
        "Change the permissions that acquire"
        self._isBeingUsedAsAMethod(REQUEST, 0)
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            p=Permission(name,value,self)
            roles=p.getRoles()
            if roles is None: continue
            if name in permissions: p.setRoles(list(roles))
            else:                   p.setRoles(tuple(roles))

        if REQUEST is not None: return self.manage_access(REQUEST)
Ejemplo n.º 8
0
 def permissionsOfRole(self, role):
     """Used by management screen.
     """
     r = []
     for p in self.ac_inherited_permissions(1):
         name, value = p[:2]
         p = Permission(name, value, self)
         roles = p.getRoles()
         r.append({
             'name': name,
             'selected': role in roles and 'SELECTED' or '',
         })
     return r
Ejemplo n.º 9
0
    def manage_acquiredPermissions(self, permissions=[], REQUEST=None):
        """Change the permissions that acquire.
        """
        self._isBeingUsedAsAMethod(REQUEST, 0)
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            p = Permission(name, value, self)
            roles = p.getRoles()
            if roles is None: continue
            if name in permissions: p.setRoles(list(roles))
            else: p.setRoles(tuple(roles))

        if REQUEST is not None: return self.manage_access(REQUEST)
Ejemplo n.º 10
0
    def rolesOfPermission(self, permission):
        """Used by management screen.
        """
        valid_roles = self.valid_roles()
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            if name == permission:
                p = Permission(name, value, self)
                roles = p.getRoles()
                return map(lambda role, roles=roles: {
                    'name': role,
                    'selected': role in roles and 'SELECTED' or '',
                },
                           valid_roles)

        raise ValueError, ("The permission <em>%s</em> is invalid." %
                           escape(permission))
Ejemplo n.º 11
0
    def rolesOfPermission(self, permission):
        "used by management screen"
        valid_roles=self.valid_roles()
        for p in self.ac_inherited_permissions(1):
            name, value = p[:2]
            if name==permission:
                p=Permission(name,value,self)
                roles=p.getRoles()
                return map(
                    lambda role, roles=roles:
                    {'name': role,
                     'selected': role in roles and 'SELECTED' or '',
                     },
                    valid_roles)

        raise 'Invalid Permission', (
            "The permission <em>%s</em> is invalid." % escape(permission))
Ejemplo n.º 12
0
 def permission_settings(self):
     """Return user-role permission settings
     """
     result=[]
     valid=self.valid_roles()
     indexes=range(len(valid))
     ip=0
     for p in self.ac_inherited_permissions(1):
         name, value = p[:2]
         p=Permission(name,value,self)
         roles=p.getRoles(default=[])
         d={'name': name,
            'acquire': type(roles) is ListType and 'CHECKED' or '',
            'roles': map(
                lambda ir, roles=roles, valid=valid, ip=ip:
                {
                    'name': "p%dr%d" % (ip,ir),
                    'checked': (valid[ir] in roles) and 'CHECKED' or '',
                    },
                indexes)
            }
         ip=ip+1
         result.append(d)
     return result