web/views/forms.py
changeset 3467 a6405235aac6
parent 3451 6b46d73823f5
child 3476 6e927b729ae1
equal deleted inserted replaced
3466:beabe54a8664 3467:a6405235aac6
   179             renderer = self.form_default_renderer()
   179             renderer = self.form_default_renderer()
   180         return renderer.render(self, values)
   180         return renderer.render(self, values)
   181 
   181 
   182     def form_default_renderer(self):
   182     def form_default_renderer(self):
   183         return self._cw.vreg['formrenderers'].select(self.form_renderer_id,
   183         return self._cw.vreg['formrenderers'].select(self.form_renderer_id,
   184                                                 self._cw, rset=self.cw_rset,
   184                                                      self._cw, rset=self.cw_rset,
   185                                                 row=self.cw_row, col=self.cw_col)
   185                                                      row=self.cw_row, col=self.cw_col)
   186 
   186 
   187     def form_build_context(self, rendervalues=None):
   187     def form_build_context(self, rendervalues=None):
   188         """build form context values (the .context attribute which is a
   188         """build form context values (the .context attribute which is a
   189         dictionary with field instance as key associated to a dictionary
   189         dictionary with field instance as key associated to a dictionary
   190         containing field 'name' (qualified), 'id', 'value' (for display, always
   190         containing field 'name' (qualified), 'id', 'value' (for display, always
   301     def __init__(self, *args, **kwargs):
   301     def __init__(self, *args, **kwargs):
   302         self.edited_entity = kwargs.pop('entity', None)
   302         self.edited_entity = kwargs.pop('entity', None)
   303         msg = kwargs.pop('submitmsg', None)
   303         msg = kwargs.pop('submitmsg', None)
   304         super(EntityFieldsForm, self).__init__(*args, **kwargs)
   304         super(EntityFieldsForm, self).__init__(*args, **kwargs)
   305         if self.edited_entity is None:
   305         if self.edited_entity is None:
   306             self.edited_entity = self.complete_entity(self.cw_row or 0, self.cw_col or 0)
   306             self.edited_entity = self.cw_rset.complete_entity(self.cw_row or 0, self.cw_col or 0)
   307         self.form_add_hidden('__type', eidparam=True)
   307         self.form_add_hidden('__type', eidparam=True)
   308         self.form_add_hidden('eid')
   308         self.form_add_hidden('eid')
   309         if kwargs.get('mainform', True): # mainform default to true in parent
   309         if kwargs.get('mainform', True): # mainform default to true in parent
   310             self.form_add_hidden(u'__maineid', self.edited_entity.eid)
   310             self.form_add_hidden(u'__maineid', self.edited_entity.eid)
   311             # If we need to directly attach the new object to another one
   311             # If we need to directly attach the new object to another one
   556 
   556 
   557 
   557 
   558 class CompositeForm(FieldsForm):
   558 class CompositeForm(FieldsForm):
   559     """form composed of sub-forms"""
   559     """form composed of sub-forms"""
   560     __regid__ = 'composite'
   560     __regid__ = 'composite'
   561     form_renderer_id = id
   561     form_renderer_id = __regid__
   562 
   562 
   563     def __init__(self, *args, **kwargs):
   563     def __init__(self, *args, **kwargs):
   564         super(CompositeForm, self).__init__(*args, **kwargs)
   564         super(CompositeForm, self).__init__(*args, **kwargs)
   565         self.forms = []
   565         self.forms = []
   566 
   566 
   571 
   571 
   572 
   572 
   573 class CompositeEntityForm(EntityFieldsForm):
   573 class CompositeEntityForm(EntityFieldsForm):
   574     """form composed of sub-forms"""
   574     """form composed of sub-forms"""
   575     __regid__ = 'composite'
   575     __regid__ = 'composite'
   576     form_renderer_id = id
   576     form_renderer_id = __regid__
   577 
   577 
   578     def __init__(self, *args, **kwargs):
   578     def __init__(self, *args, **kwargs):
   579         super(CompositeEntityForm, self).__init__(*args, **kwargs)
   579         super(CompositeEntityForm, self).__init__(*args, **kwargs)
   580         self.forms = []
   580         self.forms = []
   581 
   581