Changeset 3336 in products for quintagroup.portlet.static/trunk/quintagroup/portlet/static/staticstylishportlet.py
- Timestamp:
- Jan 5, 2012 12:12:37 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.portlet.static/trunk/quintagroup/portlet/static/staticstylishportlet.py
r3282 r3336 24 24 """ 25 25 26 anonymous_only = schema.Bool( 27 title=_(u"Anonymous only"), 28 description=_(u"Check this to hide the portlet for logged-in users."), 26 roles_excluded = schema.Tuple( 27 title=_(u"Roles excluded"), 28 description=_(u"Select excluded user roles."), 29 value_type=schema.Choice( 30 vocabulary="quintagroup.portlet.static.vocabularies.GlobalRoles" 31 ), 29 32 required=False, 30 default=False, 33 ) 34 35 roles_required = schema.Tuple( 36 title=_(u"Roles required"), 37 description=_(u"Select required user roles."), 38 value_type=schema.Choice( 39 vocabulary="quintagroup.portlet.static.vocabularies.GlobalRoles" 40 ), 41 required=False, 31 42 ) 32 43 … … 50 61 styling = '' 51 62 52 anonymous_only = False 63 roles_excluded = () 64 65 roles_required = () 53 66 54 67 def __init__(self, header=u"", text=u"", omit_border=False, footer=u"", 55 more_url='', hide=False, styling='', anonymous_only=False): 68 more_url='', hide=False, styling='', 69 roles_excluded=(), roles_required=()): 56 70 super(Assignment, self).__init__(header=header, text=text, omit_border=omit_border, footer=footer, 57 71 more_url=more_url) 58 72 59 73 self.styling = styling 60 self.anonymous_only = anonymous_only 74 self.roles_excluded = roles_excluded 75 self.roles_required = roles_required 76 61 77 62 78 class Renderer(static.Renderer): … … 72 88 @property 73 89 def available(self): 74 if self.data. anonymous_only:90 if self.data.roles_excluded or self.data.roles_required: 75 91 context = aq_inner(self.context) 76 92 mtool = getToolByName(context, 'portal_membership') 77 return mtool.isAnonymousUser() 93 94 # Determine roles 95 if not mtool.isAnonymousUser(): 96 member = mtool.getAuthenticatedMember() 97 user = member.getUser() 98 roles = user.getRoles() 99 else: 100 roles = () 101 102 roles = frozenset(roles) 103 104 # Test excluded roles 105 if roles & set(self.data.roles_excluded): 106 return False 107 108 # Test required roles 109 if not set(self.data.roles_required) <= roles: 110 return False 78 111 79 112 return True
Note: See TracChangeset
for help on using the changeset viewer.