web/views/actions.py
changeset 254 b1eda3dd844a
parent 237 3df2e0ae2eba
child 328 02abf429dd91
equal deleted inserted replaced
253:57e88c0ba286 254:b1eda3dd844a
    21     """base class for link search actions. By default apply on
    21     """base class for link search actions. By default apply on
    22     any size entity result search it the current state is 'linksearch'
    22     any size entity result search it the current state is 'linksearch'
    23     if accept match.
    23     if accept match.
    24     """
    24     """
    25     category = 'mainactions'    
    25     category = 'mainactions'    
    26     __selectors__ = (searchstate_accept_selector,)
    26     __selectors__ = (searchstate_accept,)
    27     search_states = ('linksearch',)
    27     search_states = ('linksearch',)
    28     order = 0
    28     order = 0
    29     
    29     
    30     id = 'select'
    30     id = 'select'
    31     title = _('select')
    31     title = _('select')
    52                               vid='edition', __mode='normal')
    52                               vid='edition', __mode='normal')
    53 
    53 
    54 
    54 
    55 class ViewAction(Action):
    55 class ViewAction(Action):
    56     category = 'mainactions'    
    56     category = 'mainactions'    
    57     __selectors__ = (in_group_selector, searchstate_accept_selector)
    57     __selectors__ = (in_group_selector, searchstate_accept)
    58     require_groups = ('users', 'managers')
    58     require_groups = ('users', 'managers')
    59     order = 0
    59     order = 0
    60     
    60     
    61     id = 'view'
    61     id = 'view'
    62     title = _('view')
    62     title = _('view')
    76         return self.build_url(self.req.relative_path(includeparams=False), **params)
    76         return self.build_url(self.req.relative_path(includeparams=False), **params)
    77 
    77 
    78 
    78 
    79 class ModifyAction(EntityAction):
    79 class ModifyAction(EntityAction):
    80     category = 'mainactions'
    80     category = 'mainactions'
    81     __selectors__ = (one_line_rset, searchstate_accept_selector)
    81     __selectors__ = (one_line_rset, searchstate_accept)
    82     #__selectors__ = searchstate_accept_selector,
    82     #__selectors__ = searchstate_accept,
    83     schema_action = 'update'
    83     schema_action = 'update'
    84     order = 10
    84     order = 10
    85     
    85     
    86     id = 'edit'
    86     id = 'edit'
    87     title = _('modify')
    87     title = _('modify')
   104         return entity.absolute_url(vid='edition')
   104         return entity.absolute_url(vid='edition')
   105 
   105 
   106     
   106     
   107 class DeleteAction(EntityAction):
   107 class DeleteAction(EntityAction):
   108     category = 'moreactions' 
   108     category = 'moreactions' 
   109     __selectors__ = (searchstate_accept_selector,)
   109     __selectors__ = (searchstate_accept,)
   110     schema_action = 'delete'
   110     schema_action = 'delete'
   111     order = 20
   111     order = 20
   112     
   112     
   113     id = 'delete'
   113     id = 'delete'
   114     title = _('delete')
   114     title = _('delete')
   134         
   134         
   135 
   135 
   136 class MultipleEditAction(EntityAction):
   136 class MultipleEditAction(EntityAction):
   137     category = 'mainactions'
   137     category = 'mainactions'
   138     __selectors__ = (two_lines_rset, oneetyperset_selector,
   138     __selectors__ = (two_lines_rset, oneetyperset_selector,
   139                      searchstate_accept_selector)
   139                      searchstate_accept)
   140     schema_action = 'update'
   140     schema_action = 'update'
   141     order = 10
   141     order = 10
   142     
   142     
   143     id = 'muledit' # XXX get strange conflicts if id='edit'
   143     id = 'muledit' # XXX get strange conflicts if id='edit'
   144     title = _('modify')
   144     title = _('modify')
   169     def has_add_perm_selector(cls, req, rset, **kwargs):
   169     def has_add_perm_selector(cls, req, rset, **kwargs):
   170         eschema = cls.schema.eschema(rset.description[0][0])
   170         eschema = cls.schema.eschema(rset.description[0][0])
   171         if not eschema.is_final() and eschema.has_perm(req, 'add'):
   171         if not eschema.is_final() and eschema.has_perm(req, 'add'):
   172             return 1
   172             return 1
   173         return 0
   173         return 0
   174     __selectors__ = (searchstate_selector,
   174     __selectors__ = (match_search_state,
   175                      chainfirst(etype_rset_selector,
   175                      chainfirst(etype_rset_selector,
   176                                 chainall(two_lines_rset, oneetyperset_selector,
   176                                 chainall(two_lines_rset, oneetyperset_selector,
   177                                          has_add_perm_selector)))
   177                                          has_add_perm_selector)))
   178     order = 40
   178     order = 40
   179     id = 'addentity'
   179     id = 'addentity'