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)) |