23 from cubicweb.common import tags |
23 from cubicweb.common import tags |
24 from cubicweb.common.uilib import cut |
24 from cubicweb.common.uilib import cut |
25 from cubicweb.web import INTERNAL_FIELD_VALUE, stdmsgs, eid_param |
25 from cubicweb.web import INTERNAL_FIELD_VALUE, stdmsgs, eid_param |
26 from cubicweb.web.controller import NAV_FORM_PARAMETERS |
26 from cubicweb.web.controller import NAV_FORM_PARAMETERS |
27 from cubicweb.web.widgets import checkbox, InputWidget, ComboBoxWidget |
27 from cubicweb.web.widgets import checkbox, InputWidget, ComboBoxWidget |
28 from cubicweb.web.form import FormMixIn, relation_id |
28 from cubicweb.web.form import (MultipleFieldsForm, EntityFieldsForm, StringField, |
|
29 RichTextField, HiddenInput, |
|
30 FormMixIn, relation_id) |
29 |
31 |
30 _ = unicode |
32 _ = unicode |
31 |
33 |
32 from cubicweb.web.form import MultipleFieldsForm, EntityFieldsForm, StringField, \ |
|
33 RichTextField, HiddenInput |
|
34 |
34 |
35 |
35 |
36 class DeleteConfForm(EntityView): |
36 class DeleteConfForm(EntityView): |
37 id = 'deleteconf' |
37 id = 'deleteconf' |
38 title = _('delete') |
38 title = _('delete') |
75 |
75 |
76 class ChangeStateForm(EntityFieldsForm): |
76 class ChangeStateForm(EntityFieldsForm): |
77 id = 'changestate' |
77 id = 'changestate' |
78 __method = StringField(name='__method', initial='set_state', widget=HiddenInput) |
78 __method = StringField(name='__method', initial='set_state', widget=HiddenInput) |
79 state = StringField(widget=HiddenInput, eidparam=True) |
79 state = StringField(widget=HiddenInput, eidparam=True) |
80 # XXX format field |
|
81 trcomment = RichTextField(eidparam=True) |
80 trcomment = RichTextField(eidparam=True) |
82 |
81 |
83 def form_buttons(self): |
82 def form_buttons(self): |
84 return [self.button_ok(label=stdmsgs.YES, |
83 return [self.button_ok(label=stdmsgs.YES, |
85 tabindex=self.req.next_tabindex()), |
84 tabindex=self.req.next_tabindex()), |
88 |
87 |
89 |
88 |
90 class ChangeStateFormView(EntityView): |
89 class ChangeStateFormView(EntityView): |
91 id = 'statuschange' |
90 id = 'statuschange' |
92 title = _('status change') |
91 title = _('status change') |
93 |
|
94 __select__ = implements(IWorkflowable) & match_form_params('treid') |
92 __select__ = implements(IWorkflowable) & match_form_params('treid') |
95 |
93 |
96 def cell_call(self, row, col, vid='secondary'): |
94 def cell_call(self, row, col): |
97 entity = self.entity(row, col) |
95 entity = self.entity(row, col) |
98 eid = entity.eid |
96 eid = entity.eid |
99 state = entity.in_state[0] |
97 state = entity.in_state[0] |
100 transition = self.req.eid_rset(self.req.form['treid']).get_entity(0, 0) |
98 transition = self.req.eid_rset(self.req.form['treid']).get_entity(0, 0) |
101 dest = transition.destination() |
99 dest = transition.destination() |
112 self.w(u'<p>%s</p>\n' % msg) |
110 self.w(u'<p>%s</p>\n' % msg) |
113 self.w(form.form_render(state=dest.eid, trcomment=u'')) |
111 self.w(form.form_render(state=dest.eid, trcomment=u'')) |
114 |
112 |
115 def redirectpath(self, entity): |
113 def redirectpath(self, entity): |
116 return entity.rest_path() |
114 return entity.rest_path() |
|
115 |
117 |
116 |
118 class ClickAndEditForm(FormMixIn, EntityView): |
117 class ClickAndEditForm(FormMixIn, EntityView): |
119 id = 'reledit' |
118 id = 'reledit' |
120 __select__ = match_kwargs('rtype') |
119 __select__ = match_kwargs('rtype') |
121 |
120 |