Ignore:
Timestamp:
20 May 2011, 11:02:42 (13 years ago)
Author:
uli
Message:

Retrieve title from role, not from arbitrary dicts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/trunk/src/waeup/sirp/permissions.py

    r6160 r6162  
    109109
    110110    Objects that want to offer certain local roles, can do so by
    111     setting a (preferably class-) attribute to a list of dictionaries.
     111    setting a (preferably class-) attribute to a list of role ids.
    112112
    113113    You can also define different adapters for different contexts to
     
    122122    def __init__(self, context):
    123123        self.context = context
    124         self._roles = getattr(context, 'local_roles', self._roles)
     124        role_ids = getattr(context, 'local_roles', self._roles)
     125        self._roles = [(name, role) for name, role in getRoles()
     126                       if name in role_ids]
    125127        return
    126128
     
    130132        to assign each role to).
    131133        """
    132         list_of_dict = [dict(name=x, title=self._roles[x]) for x in self._roles.keys()]
    133         return list_of_dict
     134        return [
     135            dict(
     136                name=name,
     137                title=role.title,
     138                description =role.description)
     139            for name, role in self._roles]
    134140
    135141    def roles(self):
    136142        """Return a list of roles assignable to the context object.
    137143        """
    138         return self._roles.keys()
     144        return [name for name, role in self._roles]
Note: See TracChangeset for help on using the changeset viewer.