138 fromeid=entity.eid): |
138 fromeid=entity.eid): |
139 return self.w(value) |
139 return self.w(value) |
140 elif role == 'object' and not rschema.has_perm(self.req, 'add', |
140 elif role == 'object' and not rschema.has_perm(self.req, 'add', |
141 toeid=entity.eid): |
141 toeid=entity.eid): |
142 return self.w(value) |
142 return self.w(value) |
143 form = self._build_relation_form(entity, value, rtype, role, row, col, |
143 form = self._build_relation_form(entity, value, rtype, role, reload, row, col, |
144 rvid, default, escape, landing_zone) |
144 rvid, default, escape, landing_zone) |
145 renderer = self.vreg.select_object('formrenderers', 'base', self.req, |
145 renderer = self.vreg.select_object('formrenderers', 'base', self.req, |
146 entity=entity, |
146 entity=entity, |
147 display_label=False, display_help=False, |
147 display_label=False, display_help=False, |
148 display_fields=[(rtype, role)], |
148 display_fields=[(rtype, role)], |
149 table_class='', button_bar_class='buttonbar', |
149 table_class='', button_bar_class='buttonbar', |
150 display_progress_div=False) |
150 display_progress_div=False) |
151 self.w(form.form_render(renderer=renderer)) |
151 self.w(form.form_render(renderer=renderer)) |
152 |
152 |
153 def _build_relation_form(self, entity, value, rtype, role, row, col, rvid, default, escape, lzone): |
153 def _build_relation_form(self, entity, value, rtype, role, row, col, reload, rvid, |
|
154 default, escape, lzone): |
154 lzone = lzone or self._defaultlandingzone % self.req._(self._landingzonemsg) |
155 lzone = lzone or self._defaultlandingzone % self.req._(self._landingzonemsg) |
155 value = lzone + value |
156 value = lzone + value |
156 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
157 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
157 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid, |
158 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid, |
158 'default' : default, 'role' : role, 'escape' : escape, 'lzone' : lzone} |
159 'reload' : reload, 'default' : default, 'role' : role, |
|
160 'escape' : escape, 'lzone' : lzone} |
159 onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', " |
161 onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', " |
160 "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s', '%(escape)s', '%(lzone)s');" |
162 "'%(role)s', '%(eid)s', '%(divid)s', '%(reload)s', '%(vid)s', " |
|
163 "'%(default)s', '%(escape)s', '%(lzone)s');" |
161 % event_data) |
164 % event_data) |
162 cancelclick = "cancelInlineEdit(%s,\'%s\',\'%s\')" % ( |
165 cancelclick = "cancelInlineEdit(%s,\'%s\',\'%s\')" % ( |
163 entity.eid, rtype, divid) |
166 entity.eid, rtype, divid) |
164 form = self.vreg.select_object('forms', 'base', self.req, entity=entity, |
167 form = self.vreg.select_object('forms', 'base', self.req, entity=entity, |
165 domid='%s-form' % divid, cssstyle='display: none', |
168 domid='%s-form' % divid, cssstyle='display: none', |