web/views/actions.py
branchtls-sprint
changeset 690 ea613e8a5e4f
parent 660 5233a9457f6b
child 696 2a5a19185288
equal deleted inserted replaced
689:a9d9421d1be0 690:ea613e8a5e4f
   124         return self.build_url('view', rql=self.rset.rql, vid='muledit')
   124         return self.build_url('view', rql=self.rset.rql, vid='muledit')
   125 
   125 
   126 
   126 
   127 # generic secondary actions ###################################################
   127 # generic secondary actions ###################################################
   128 
   128 
   129 class ManagePermissions(Action):
   129 class ManagePermissionsAction(Action):
   130     id = 'addpermission'
   130     id = 'addpermission'
   131     __selectors__ = (
   131     __selectors__ = match_user_groups('managers') 
   132         (match_user_groups('managers') 
       
   133          | relation_possible('require_permission', 'subject', 'EPermission')),
       
   134                    )
       
   135 
   132 
   136     title = _('manage permissions')
   133     title = _('manage permissions')
   137     category = 'moreactions'
   134     category = 'moreactions'
   138     order = 100
   135     order = 100
   139     
   136 
       
   137     def registered(cls, vreg):
       
   138         if 'require_permission' in vreg.schema:
       
   139             cls.__selectors__ |= relation_possible('require_permission', 'subject', 'EPermission',
       
   140                                                    action='add')
       
   141             
   140     def url(self):
   142     def url(self):
   141         return self.rset.get_entity(0, 0).absolute_url(vid='security')
   143         return self.rset.get_entity(0, 0).absolute_url(vid='security')
   142 
   144 
   143     
   145     
   144 class DeleteAction(Action):
   146 class DeleteAction(Action):
   267     category = 'siteactions'
   269     category = 'siteactions'
   268     order = 30
   270     order = 30
   269     
   271     
   270     def url(self):
   272     def url(self):
   271         return self.build_url(self.id)
   273         return self.build_url(self.id)
   272