equal
deleted
inserted
replaced
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' |