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) |
184 |
193 |
185 def url(self): |
194 def url(self): |
186 return self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0).absolute_url(vid='security') |
195 return self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0).absolute_url(vid='security') |
187 |
196 |
188 |
197 |
425 return 'rhythm' |
434 return 'rhythm' |
426 |
435 |
427 ## default actions ui configuration ########################################### |
436 ## default actions ui configuration ########################################### |
428 |
437 |
429 addmenu = uicfg.actionbox_appearsin_addmenu |
438 addmenu = uicfg.actionbox_appearsin_addmenu |
|
439 addmenu.tag_subject_of(('*', 'require_permission', '*'), False) |
430 addmenu.tag_object_of(('*', 'relation_type', 'CWRType'), True) |
440 addmenu.tag_object_of(('*', 'relation_type', 'CWRType'), True) |
431 addmenu.tag_object_of(('*', 'from_entity', 'CWEType'), False) |
441 addmenu.tag_object_of(('*', 'from_entity', 'CWEType'), False) |
432 addmenu.tag_object_of(('*', 'to_entity', 'CWEType'), False) |
442 addmenu.tag_object_of(('*', 'to_entity', 'CWEType'), False) |
433 addmenu.tag_object_of(('*', 'in_group', 'CWGroup'), True) |
443 addmenu.tag_object_of(('*', 'in_group', 'CWGroup'), True) |
434 addmenu.tag_object_of(('*', 'bookmarked_by', 'CWUser'), True) |
444 addmenu.tag_object_of(('*', 'bookmarked_by', 'CWUser'), True) |