web/views/editforms.py
branchtls-sprint
changeset 1396 daaebf6b9922
parent 1366 fd5bd1a63c3f
child 1423 39320a58faac
equal deleted inserted replaced
1393:ff6758d7b96f 1396:daaebf6b9922
   605                                                                  entity.eid)
   605                                                                  entity.eid)
   606         self.render_form(entity, peid, rtype, role, divonclick=divonclick)
   606         self.render_form(entity, peid, rtype, role, divonclick=divonclick)
   607         
   607         
   608     def render_form(self, entity, peid, rtype, role, **kwargs):
   608     def render_form(self, entity, peid, rtype, role, **kwargs):
   609         """fetch and render the form"""
   609         """fetch and render the form"""
   610         rschema = self.schema.rschema(rtype)
       
   611         divid = '%s-%s-%s' % (peid, rtype, entity.eid)
       
   612         title = rschema.display_name(self.req, role)
       
   613         form = self.vreg.select_object('forms', 'edition', self.req, None,
   610         form = self.vreg.select_object('forms', 'edition', self.req, None,
   614                                        entity=entity)
   611                                        entity=entity)
       
   612         self.add_hiddens(form, entity, peid, rtype, role)
       
   613         divid = '%s-%s-%s' % (peid, rtype, entity.eid)
       
   614         title = self.schema.rschema(rtype).display_name(self.req, role)
   615         removejs = self.removejs % (peid, rtype,entity.eid)
   615         removejs = self.removejs % (peid, rtype,entity.eid)
       
   616         self.w(form.form_render(renderer=EntityInlinedFormRenderer(), divid=divid,
       
   617                                 title=title, removejs=removejs,**kwargs))
       
   618 
       
   619     def add_hiddens(self, form, entity, peid, rtype, role):
       
   620         # to ease overriding (see cubes.vcsfile.views.forms for instance)
   616         if self.keep_entity(entity, peid, rtype):
   621         if self.keep_entity(entity, peid, rtype):
   617             if entity.has_eid():
   622             if entity.has_eid():
   618                 rval = entity.eid
   623                 rval = entity.eid
   619             else:
   624             else:
   620                 rval = INTERNAL_FIELD_VALUE
   625                 rval = INTERNAL_FIELD_VALUE
   621             form.form_add_hidden('edit%s-%s:%s' % (role[0], rtype, peid), rval)
   626             form.form_add_hidden('edit%s-%s:%s' % (role[0], rtype, peid), rval)
   622         form.form_add_hidden(name='%s:%s' % (rtype, peid), value=entity.eid,
   627         form.form_add_hidden(name='%s:%s' % (rtype, peid), value=entity.eid,
   623                              id='rel-%s-%s-%s'  % (peid, rtype, entity.eid))
   628                              id='rel-%s-%s-%s'  % (peid, rtype, entity.eid))
   624         self.w(form.form_render(renderer=EntityInlinedFormRenderer(), divid=divid,
   629         
   625                                 title=title, removejs=removejs,**kwargs))
       
   626 
       
   627     def keep_entity(self, entity, peid, rtype):
   630     def keep_entity(self, entity, peid, rtype):
   628         if not entity.has_eid():
   631         if not entity.has_eid():
   629             return True
   632             return True
   630         # are we regenerating form because of a validation error ?
   633         # are we regenerating form because of a validation error ?
   631         erroneous_post = self.req.data.get('formvalues')
   634         erroneous_post = self.req.data.get('formvalues')