32 # IWorkflowable views ######################################################### |
32 # IWorkflowable views ######################################################### |
33 |
33 |
34 class ChangeStateForm(form.EntityFieldsForm): |
34 class ChangeStateForm(form.EntityFieldsForm): |
35 id = 'changestate' |
35 id = 'changestate' |
36 |
36 |
37 __method = StringField(name='__method', initial='set_state', widget=HiddenInput) |
37 __method = StringField(name='__method', initial='set_state', |
|
38 widget=HiddenInput) |
38 state = StringField(widget=HiddenInput, eidparam=True) |
39 state = StringField(widget=HiddenInput, eidparam=True) |
39 trcomment = RichTextField(eidparam=True) |
40 trcomment = RichTextField(eidparam=True) |
40 form_buttons = [SubmitButton(stdmsgs.YES), |
41 form_buttons = [SubmitButton(stdmsgs.YES), |
41 Button(stdmsgs.NO, cwaction='cancel')] |
42 Button(stdmsgs.NO, cwaction='cancel')] |
42 |
43 |
50 entity = self.entity(row, col) |
51 entity = self.entity(row, col) |
51 state = entity.in_state[0] |
52 state = entity.in_state[0] |
52 transition = self.req.eid_rset(self.req.form['treid']).get_entity(0, 0) |
53 transition = self.req.eid_rset(self.req.form['treid']).get_entity(0, 0) |
53 dest = transition.destination() |
54 dest = transition.destination() |
54 _ = self.req._ |
55 _ = self.req._ |
55 form = self.vreg.select_object('forms', 'changestate', self.req, self.rset, row=row, col=col, |
56 form = self.vreg.select_object('forms', 'changestate', self.req, |
56 entity=entity, redirect_path=self.redirectpath(entity)) |
57 self.rset, row=row, col=col, |
|
58 entity=entity, |
|
59 redirect_path=self.redirectpath(entity)) |
57 self.w(form.error_message()) |
60 self.w(form.error_message()) |
58 self.w(u'<h4>%s %s</h4>\n' % (_(transition.name), entity.view('oneline'))) |
61 self.w(u'<h4>%s %s</h4>\n' % (_(transition.name), |
|
62 entity.view('oneline'))) |
59 msg = _('status will change from %(st1)s to %(st2)s') % { |
63 msg = _('status will change from %(st1)s to %(st2)s') % { |
60 'st1': _(state.name), |
64 'st1': _(state.name), |
61 'st2': _(dest.name)} |
65 'st2': _(dest.name)} |
62 self.w(u'<p>%s</p>\n' % msg) |
66 self.w(u'<p>%s</p>\n' % msg) |
63 self.w(form.form_render(state=dest.eid, trcomment=u'')) |
67 self.w(form.form_render(state=dest.eid, trcomment=u'')) |