107 rschema = self.schema.rschema(rtype) |
107 rschema = self.schema.rschema(rtype) |
108 entity = self.entity(row, col) |
108 entity = self.entity(row, col) |
109 if not default: |
109 if not default: |
110 default = xml_escape(self.req._('<no value>')) |
110 default = xml_escape(self.req._('<no value>')) |
111 if rschema.is_final(): |
111 if rschema.is_final(): |
112 value = entity.printable_value(rtype) |
112 value = entity.printable_value(rtype) or default |
113 value = value.strip() or default |
|
114 if not entity.has_perm('update'): |
113 if not entity.has_perm('update'): |
115 self.w(value) |
114 self.w(value) |
116 return |
115 return |
117 else: |
116 else: |
118 rset = entity.related(rtype, role) |
117 rset = entity.related(rtype, role) |
119 candidate = self.view(rvid, rset, 'null').strip() |
118 candidate = self.view(rvid, rset, 'null') |
120 if candidate and escape: |
119 if candidate and escape: |
121 value = xml_escape(candidate) |
120 value = xml_escape(candidate) |
122 value = candidate or default |
121 value = candidate or default |
123 # check perms. |
122 # check perms. |
124 if role == 'subject'and not rschema.has_perm(self.req, 'add', |
123 if role == 'subject'and not rschema.has_perm(self.req, 'add', |
145 table_class='', button_bar_class='buttonbar', |
144 table_class='', button_bar_class='buttonbar', |
146 display_progress_div=False) |
145 display_progress_div=False) |
147 self.w(form.form_render(renderer=renderer)) |
146 self.w(form.form_render(renderer=renderer)) |
148 |
147 |
149 def _build_relation_form(self, entity, value, rtype, role, row, col, rvid, default, escape, lzone): |
148 def _build_relation_form(self, entity, value, rtype, role, row, col, rvid, default, escape, lzone): |
150 print rvid, escape |
|
151 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
149 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
152 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid, |
150 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid, |
153 'default' : default, 'role' : role, 'escape' : escape, 'lzone' : lzone} |
151 'default' : default, 'role' : role, 'escape' : escape, 'lzone' : lzone} |
154 onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', " |
152 onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', " |
155 "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s', '%(escape)s', '%(lzone)s');" |
153 "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s', '%(escape)s', '%(lzone)s');" |