web/views/actions.py
branchstable
changeset 7780 a1d5365fefc1
parent 7744 bb956f43e8d4
child 7782 40a49f4350a5
equal deleted inserted replaced
7779:3826d8480a68 7780:a1d5365fefc1
   179                   non_final_entity() & match_user_groups('managers'))
   179                   non_final_entity() & match_user_groups('managers'))
   180 
   180 
   181     title = _('manage permissions')
   181     title = _('manage permissions')
   182     category = 'moreactions'
   182     category = 'moreactions'
   183     order = 15
   183     order = 15
   184 
       
   185     @classmethod
       
   186     def __registered__(cls, reg):
       
   187         if 'require_permission' in reg.schema:
       
   188             cls.__select__ = (one_line_rset() & non_final_entity() &
       
   189                               (match_user_groups('managers')
       
   190                                | relation_possible('require_permission', 'subject', 'CWPermission',
       
   191                                                    action='add')))
       
   192         return super(ManagePermissionsAction, cls).__registered__(reg)
       
   193 
   184 
   194     def url(self):
   185     def url(self):
   195         return self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0).absolute_url(vid='security')
   186         return self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0).absolute_url(vid='security')
   196 
   187 
   197 
   188 
   434         return 'rhythm'
   425         return 'rhythm'
   435 
   426 
   436 ## default actions ui configuration ###########################################
   427 ## default actions ui configuration ###########################################
   437 
   428 
   438 addmenu = uicfg.actionbox_appearsin_addmenu
   429 addmenu = uicfg.actionbox_appearsin_addmenu
   439 addmenu.tag_subject_of(('*', 'require_permission', '*'), False)
       
   440 addmenu.tag_object_of(('*', 'relation_type', 'CWRType'), True)
   430 addmenu.tag_object_of(('*', 'relation_type', 'CWRType'), True)
   441 addmenu.tag_object_of(('*', 'from_entity', 'CWEType'), False)
   431 addmenu.tag_object_of(('*', 'from_entity', 'CWEType'), False)
   442 addmenu.tag_object_of(('*', 'to_entity', 'CWEType'), False)
   432 addmenu.tag_object_of(('*', 'to_entity', 'CWEType'), False)
   443 addmenu.tag_object_of(('*', 'in_group', 'CWGroup'), True)
   433 addmenu.tag_object_of(('*', 'in_group', 'CWGroup'), True)
   444 addmenu.tag_object_of(('*', 'bookmarked_by', 'CWUser'), True)
   434 addmenu.tag_object_of(('*', 'bookmarked_by', 'CWUser'), True)