src/pyams_security/role.py
changeset 42 07229ac2497b
parent 2 94e76f8e9828
child 72 6dd8bc7bb7b5
equal deleted inserted replaced
41:905e30f5467b 42:07229ac2497b
    32 
    32 
    33     id = FieldProperty(IRole['id'])
    33     id = FieldProperty(IRole['id'])
    34     title = FieldProperty(IRole['title'])
    34     title = FieldProperty(IRole['title'])
    35     description = FieldProperty(IRole['description'])
    35     description = FieldProperty(IRole['description'])
    36     permissions = FieldProperty(IRole['permissions'])
    36     permissions = FieldProperty(IRole['permissions'])
       
    37     managers = FieldProperty(IRole['managers'])
    37 
    38 
    38     def __init__(self, values=None, **args):
    39     def __init__(self, values=None, **args):
    39         if not isinstance(values, dict):
    40         if not isinstance(values, dict):
    40             values = args
    41             values = args
    41         self.id = values.get('id')
    42         self.id = values.get('id')
    42         self.title = values.get('title')
    43         self.title = values.get('title')
    43         self.description = values.get('description')
    44         self.description = values.get('description')
    44         self.permissions = values.get('permissions')
    45         self.permissions = values.get('permissions')
       
    46         self.managers = values.get('managers')
    45 
    47 
    46 
    48 
    47 def register_role(config, role):
    49 def register_role(config, role):
    48     """Register a new role
    50     """Register a new role
    49 
    51 
    64             registry.registerUtility(role_utility, IRole, name=role_utility.id)
    66             registry.registerUtility(role_utility, IRole, name=role_utility.id)
    65         else:
    67         else:
    66             # new registration of a given role to add permissions
    68             # new registration of a given role to add permissions
    67             role_utility.permissions = (role_utility.permissions or set()) | \
    69             role_utility.permissions = (role_utility.permissions or set()) | \
    68                                        (role.get('permissions') or set())
    70                                        (role.get('permissions') or set())
       
    71             role_utility.managers = (role_utility.managers or set()) | \
       
    72                                     (role.get('managers') or set())
    69     else:
    73     else:
    70         registry.registerUtility(role, IRole, name=role.id)
    74         registry.registerUtility(role, IRole, name=role.id)
    71 
    75 
    72 
    76 
    73 @provider(IVocabularyFactory)
    77 @provider(IVocabularyFactory)