web/views/editforms.py
branchstable
changeset 3636 9b16e7b6ba35
parent 3627 70dbba754c11
child 3643 8513fd032d1f
equal deleted inserted replaced
3635:a56759c3c99f 3636:9b16e7b6ba35
   174                         "%(reload)s, '%(default)s');")
   174                         "%(reload)s, '%(default)s');")
   175             form = self._build_form(
   175             form = self._build_form(
   176                 entity, rtype, role, 'edition', default, onsubmit, reload,
   176                 entity, rtype, role, 'edition', default, onsubmit, reload,
   177                 attrcategories=self.attrcategories)
   177                 attrcategories=self.attrcategories)
   178             if not self.should_edit_attribute(entity, rschema, role, form):
   178             if not self.should_edit_attribute(entity, rschema, role, form):
       
   179                 self.w(self.entity.printable_value(rtype))
   179                 return
   180                 return
   180             value = entity.printable_value(rtype) or default
   181             value = entity.printable_value(rtype) or default
   181             self.attribute_form(lzone, value, form,
   182             self.attribute_form(lzone, value, form,
   182                                  self._build_renderer(entity, rtype, role))
   183                                  self._build_renderer(entity, rtype, role))
   183         else:
   184         else:
   184             if rvid is None:
   185             if rvid is None:
   185                 rvid = self._compute_best_vid(entity.e_schema, rschema, role)
   186                 rvid = self._compute_best_vid(entity.e_schema, rschema, role)
   186             if not self.should_edit_relation(entity, rschema, role, rvid):
       
   187                 return
       
   188             rset = entity.related(rtype, role)
   187             rset = entity.related(rtype, role)
   189             if rset:
   188             if rset:
   190                 value = self.view(rvid, rset)
   189                 value = self.view(rvid, rset)
   191             else:
   190             else:
   192                 value = default
   191                 value = default
       
   192             if not self.should_edit_relation(entity, rschema, role, rvid):
       
   193                 if rset:
       
   194                     self.w(value)
       
   195                 return
   193             onsubmit = ("return inlineValidateRelationForm('%(rtype)s', '%(role)s', '%(eid)s', "
   196             onsubmit = ("return inlineValidateRelationForm('%(rtype)s', '%(role)s', '%(eid)s', "
   194                         "'%(divid)s', %(reload)s, '%(vid)s', '%(default)s', '%(lzone)s');")
   197                         "'%(divid)s', %(reload)s, '%(vid)s', '%(default)s', '%(lzone)s');")
   195             form = self._build_form(
   198             form = self._build_form(
   196                 entity, rtype, role, 'base', default, onsubmit, reload,
   199                 entity, rtype, role, 'base', default, onsubmit, reload,
   197                 dict(vid=rvid, role=role, lzone=lzone))
   200                 dict(vid=rvid, role=role, lzone=lzone))