web/views/baseforms.py
branchtls-sprint
changeset 887 51e371245bc5
parent 874 90d98d80af82
child 906 c26156f0885e
equal deleted inserted replaced
886:0b417be91dca 887:51e371245bc5
    49         req.add_js('cubicweb.edition.js')
    49         req.add_js('cubicweb.edition.js')
    50         w(u'<script type="text/javascript">updateMessage(\'%s\');</script>\n'
    50         w(u'<script type="text/javascript">updateMessage(\'%s\');</script>\n'
    51           % _('this action is not reversible!'))
    51           % _('this action is not reversible!'))
    52         # XXX above message should have style of a warning
    52         # XXX above message should have style of a warning
    53         w(u'<h4>%s</h4>\n' % _('Do you want to delete the following element(s) ?'))
    53         w(u'<h4>%s</h4>\n' % _('Do you want to delete the following element(s) ?'))
    54         form = MultipleFieldsForm(req, id='deleteconf', action=self.build_url(),
    54         form = MultipleFieldsForm(req, domid='deleteconf', action=self.build_url('edit'),
    55                                   onsubmit=self.onsubmit, copy_nav_params=True)
    55                                   onsubmit=self.onsubmit, copy_nav_params=True)
    56         form.buttons.append(form.button_delete(label=stdmsgs.YES))
    56         form.buttons.append(form.button_delete(label=stdmsgs.YES))
    57         form.buttons.append(form.button_cancel(label=stdmsgs.NO))
    57         form.buttons.append(form.button_cancel(label=stdmsgs.NO))
    58         done = set()
    58         done = set()
    59         w(u'<ul>\n')
    59         w(u'<ul>\n')
    71         w(u'</ul>\n')
    71         w(u'</ul>\n')
    72         w(form.form_render())
    72         w(form.form_render())
    73 
    73 
    74 
    74 
    75 class ChangeStateForm(EntityFieldsForm):
    75 class ChangeStateForm(EntityFieldsForm):
    76     state = TextField(widget=HiddenInput)
       
    77     __method = TextField(name='__method', initial='set_state', widget=HiddenInput)
    76     __method = TextField(name='__method', initial='set_state', widget=HiddenInput)
       
    77     state = TextField(widget=HiddenInput, eidparam=True)
    78     trcomment = RichTextField(eidparam=True)
    78     trcomment = RichTextField(eidparam=True)
    79 
    79 
    80     def form_buttons(self):
    80     def form_buttons(self):
    81         return [self.button_ok(label=stdmsgs.YES,
    81         return [self.button_ok(label=stdmsgs.YES,
    82                                tabindex=self.req.next_tabindex()),
    82                                tabindex=self.req.next_tabindex()),
    96         state = entity.in_state[0]
    96         state = entity.in_state[0]
    97         transition = self.req.eid_rset(self.req.form['treid']).get_entity(0, 0)
    97         transition = self.req.eid_rset(self.req.form['treid']).get_entity(0, 0)
    98         dest = transition.destination()
    98         dest = transition.destination()
    99         self.req.add_js('cubicweb.edition.js')
    99         self.req.add_js('cubicweb.edition.js')
   100         _ = self.req._
   100         _ = self.req._
   101         self.w(self.error_message())
   101         form = ChangeStateForm(self.req, entity=entity,
       
   102                                redirect_path=self.redirectpath(entity))
       
   103         self.w(form.error_message())
   102         self.w(u'<h4>%s %s</h4>\n' % (_(transition.name), entity.view('oneline')))
   104         self.w(u'<h4>%s %s</h4>\n' % (_(transition.name), entity.view('oneline')))
   103         msg = _('status will change from %(st1)s to %(st2)s') % {
   105         msg = _('status will change from %(st1)s to %(st2)s') % {
   104             'st1': _(state.name),
   106             'st1': _(state.name),
   105             'st2': _(dest.name)}
   107             'st2': _(dest.name)}
   106         self.w(u'<p>%s</p>\n' % msg)
   108         self.w(u'<p>%s</p>\n' % msg)
   107         form = ChangeStateForm(req, entity=entity,
   109         self.w(form.form_render(state=dest.eid))
   108                                redirect_path=self.redirectpath(entity))
       
   109         self.w(form.form_render(entity, state=dest.eid))
       
   110 
   110 
   111     def redirectpath(self, entity):
   111     def redirectpath(self, entity):
   112         return entity.rest_path()
   112         return entity.rest_path()
   113 
   113 
   114 class ClickAndEditForm(FormMixIn, EntityView):
   114 class ClickAndEditForm(FormMixIn, EntityView):