# HG changeset patch # User Aurelien Campeas # Date 1247077850 -7200 # Node ID 1de22d3e985b9437497630ce6a88c92a340c644d # Parent b04d80f19075c7c80567405157a40774e196a029 [reledit] landing zone useful only for relations; cleanup diff -r b04d80f19075 -r 1de22d3e985b web/views/editforms.py --- a/web/views/editforms.py Wed Jul 08 19:47:36 2009 +0200 +++ b/web/views/editforms.py Wed Jul 08 20:30:50 2009 +0200 @@ -118,11 +118,14 @@ rschema = entity.schema.rschema(rtype) if not default: default = xml_escape(self.req._('')) + # compute value, checking perms, build form if rschema.is_final(): value = entity.printable_value(rtype) or default if not entity.has_perm('update'): self.w(value) return + form = self._build_attribute_form(entity, value, rtype, role, reload, + row, col, default, landing_zone) else: if rvid is None: rvid = self._compute_best_vid(entity, rtype, role) @@ -131,22 +134,12 @@ if candidate and escape: value = xml_escape(candidate) value = candidate or default - # check perms. - if role == 'subject'and not rschema.has_perm(self.req, 'add', - fromeid=entity.eid): - self.w(value) - return - elif role == 'object' and not rschema.has_perm(self.req, 'add', - toeid=entity.eid): - self.w(value) - return - # build form. - landing_zone = landing_zone or self._defaultlandingzone % self.req._(self._landingzonemsg) - value = landing_zone + value - if rschema.is_final(): - form = self._build_attribute_form(entity, value, rtype, role, reload, - row, col, default, landing_zone) - else: + if role == 'subject'and not rschema.has_perm(self.req, 'add', + fromeid=entity.eid): + return self.w(value) + elif role == 'object' and not rschema.has_perm(self.req, 'add', + toeid=entity.eid): + return self.w(value) form = self._build_relation_form(entity, value, rtype, role, row, col, rvid, default, escape, landing_zone) renderer = self.vreg.select_object('formrenderers', 'base', self.req, @@ -158,7 +151,8 @@ self.w(form.form_render(renderer=renderer)) def _build_relation_form(self, entity, value, rtype, role, row, col, rvid, default, escape, lzone): - print 'relation', rvid + lzone = lzone or self._defaultlandingzone % self.req._(self._landingzonemsg) + value = lzone + value divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid, 'default' : default, 'role' : role, 'escape' : escape, 'lzone' : lzone}