web/views/baseforms.py
branchtls-sprint
changeset 1053 e4d965b5ca37
parent 1051 4572afdea3f2
child 1066 3cebd690a114
equal deleted inserted replaced
1052:4f746935e6b1 1053:e4d965b5ca37
    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