equal
deleted
inserted
replaced
45 id = 'statuschange' |
45 id = 'statuschange' |
46 title = _('status change') |
46 title = _('status change') |
47 __select__ = implements(IWorkflowable) & match_form_params('treid') |
47 __select__ = implements(IWorkflowable) & match_form_params('treid') |
48 |
48 |
49 def cell_call(self, row, col): |
49 def cell_call(self, row, col): |
50 entity = self.entity(row, col) |
50 entity = self.rset.get_entity(row, col) |
51 state = entity.in_state[0] |
51 state = entity.in_state[0] |
52 transition = self.req.entity_from_eid(self.req.form['treid']) |
52 transition = self.req.entity_from_eid(self.req.form['treid']) |
53 dest = transition.destination() |
53 dest = transition.destination() |
54 _ = self.req._ |
54 _ = self.req._ |
55 form = self.vreg.select('forms', 'changestate', self.req, rset=self.rset, |
55 form = self.vreg.select('forms', 'changestate', self.req, rset=self.rset, |
116 class CellView(view.EntityView): |
116 class CellView(view.EntityView): |
117 id = 'cell' |
117 id = 'cell' |
118 __select__ = implements('TrInfo') |
118 __select__ = implements('TrInfo') |
119 |
119 |
120 def cell_call(self, row, col, cellvid=None): |
120 def cell_call(self, row, col, cellvid=None): |
121 self.w(self.entity(row, col).view('reledit', rtype='comment')) |
121 self.w(self.rset.get_entity(row, col).view('reledit', rtype='comment')) |
122 |
122 |
123 |
123 |
124 class StateInContextView(view.EntityView): |
124 class StateInContextView(view.EntityView): |
125 """convenience trick, State's incontext view should not be clickable""" |
125 """convenience trick, State's incontext view should not be clickable""" |
126 id = 'incontext' |
126 id = 'incontext' |
148 id = 'workflow' |
148 id = 'workflow' |
149 __select__ = implements('CWEType') |
149 __select__ = implements('CWEType') |
150 cache_max_age = 60*60*2 # stay in http cache for 2 hours by default |
150 cache_max_age = 60*60*2 # stay in http cache for 2 hours by default |
151 |
151 |
152 def cell_call(self, row, col, **kwargs): |
152 def cell_call(self, row, col, **kwargs): |
153 entity = self.entity(row, col) |
153 entity = self.rset.get_entity(row, col) |
154 self.w(u'<h1>%s</h1>' % (self.req._('workflow for %s') |
154 self.w(u'<h1>%s</h1>' % (self.req._('workflow for %s') |
155 % display_name(self.req, entity.name))) |
155 % display_name(self.req, entity.name))) |
156 self.w(u'<img src="%s" alt="%s"/>' % ( |
156 self.w(u'<img src="%s" alt="%s"/>' % ( |
157 xml_escape(entity.absolute_url(vid='ewfgraph')), |
157 xml_escape(entity.absolute_url(vid='ewfgraph')), |
158 xml_escape(self.req._('graphical workflow for %s') % entity.name))) |
158 xml_escape(self.req._('graphical workflow for %s') % entity.name))) |
215 content_type = 'image/png' |
215 content_type = 'image/png' |
216 __select__ = implements('CWEType') |
216 __select__ = implements('CWEType') |
217 |
217 |
218 def _generate(self, tmpfile): |
218 def _generate(self, tmpfile): |
219 """display schema information for an entity""" |
219 """display schema information for an entity""" |
220 entity = self.entity(self.row, self.col) |
220 entity = self.rset.get_entity(self.row, self.col) |
221 visitor = WorkflowVisitor(entity) |
221 visitor = WorkflowVisitor(entity) |
222 prophdlr = WorkflowDotPropsHandler(self.req) |
222 prophdlr = WorkflowDotPropsHandler(self.req) |
223 generator = GraphGenerator(DotBackend('workflow', 'LR', |
223 generator = GraphGenerator(DotBackend('workflow', 'LR', |
224 ratio='compress', size='30,12')) |
224 ratio='compress', size='30,12')) |
225 return generator.generate(visitor, prophdlr, tmpfile) |
225 return generator.generate(visitor, prophdlr, tmpfile) |