126 return self._cw.vreg['formrenderers'].select( |
126 return self._cw.vreg['formrenderers'].select( |
127 'base', self._cw, entity=entity, display_label=False, |
127 'base', self._cw, entity=entity, display_label=False, |
128 display_help=False, table_class='', |
128 display_help=False, table_class='', |
129 button_bar_class='buttonbar', display_progress_div=False) |
129 button_bar_class='buttonbar', display_progress_div=False) |
130 |
130 |
131 def _build_form(self, entity, rtype, role, formid, default, onsubmit, reload, |
131 def _build_form(self, entity, rtype, role, default, onsubmit, reload, |
132 extradata=None, **formargs): |
132 extradata=None, **formargs): |
133 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
133 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
134 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, |
134 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, |
135 'reload' : dumps(reload), 'default' : default} |
135 'reload' : dumps(reload), 'default' : default} |
136 if extradata: |
136 if extradata: |
137 event_data.update(extradata) |
137 event_data.update(extradata) |
138 onsubmit %= event_data |
138 onsubmit %= event_data |
139 cancelclick = "hideInlineEdit(%s,\'%s\',\'%s\')" % (entity.eid, rtype, |
139 cancelclick = "hideInlineEdit(%s,\'%s\',\'%s\')" % (entity.eid, rtype, |
140 divid) |
140 divid) |
141 form = self._cw.vreg['forms'].select( |
141 form = self._cw.vreg['forms'].select( |
142 formid, self._cw, entity=entity, domid='%s-form' % divid, |
142 'edition', self._cw, entity=entity, domid='%s-form' % divid, |
143 cssstyle='display: none', onsubmit=onsubmit, action='#', |
143 cssstyle='display: none', onsubmit=onsubmit, action='#', |
144 display_fields=[(rtype, role)], |
144 display_fields=[(rtype, role)], |
145 form_buttons=[SubmitButton(), Button(stdmsgs.BUTTON_CANCEL, |
145 form_buttons=[SubmitButton(), Button(stdmsgs.BUTTON_CANCEL, |
146 onclick=cancelclick)], |
146 onclick=cancelclick)], |
147 **formargs) |
147 **formargs) |
186 else: |
186 else: |
187 value = default |
187 value = default |
188 onsubmit = ("return inlineValidateRelationForm('%(rtype)s', '%(role)s', '%(eid)s', " |
188 onsubmit = ("return inlineValidateRelationForm('%(rtype)s', '%(role)s', '%(eid)s', " |
189 "'%(divid)s', %(reload)s, '%(vid)s', '%(default)s', '%(lzone)s');") |
189 "'%(divid)s', %(reload)s, '%(vid)s', '%(default)s', '%(lzone)s');") |
190 form = self._build_form( |
190 form = self._build_form( |
191 entity, rtype, role, 'base', default, onsubmit, reload, |
191 entity, rtype, role, default, onsubmit, reload, |
192 dict(vid=rvid, role=role, lzone=lzone)) |
192 dict(vid=rvid, role=role, lzone=lzone)) |
193 field = guess_field(entity.e_schema, schema.rschema(rtype), role) |
|
194 form.append_field(field) |
|
195 self.relation_form(lzone, value, form, |
193 self.relation_form(lzone, value, form, |
196 self._build_renderer(entity, rtype, role)) |
194 self._build_renderer(entity, rtype, role)) |
197 |
195 |
198 def should_edit_attribute(self, entity, rschema, role, form): |
196 def should_edit_attribute(self, entity, rschema, role, form): |
199 rtype = str(rschema) |
197 rtype = str(rschema) |