92 for entity in self.rset.entities(): |
92 for entity in self.rset.entities(): |
93 # don't use outofcontext view or any other that may contain inline edition form |
93 # don't use outofcontext view or any other that may contain inline edition form |
94 w(u'<li>%s</li>' % tags.a(entity.view('textoutofcontext'), |
94 w(u'<li>%s</li>' % tags.a(entity.view('textoutofcontext'), |
95 href=entity.absolute_url())) |
95 href=entity.absolute_url())) |
96 w(u'</ul>\n') |
96 w(u'</ul>\n') |
97 w(form.form_render()) |
97 w(form.render()) |
98 |
98 |
99 |
99 |
100 class ClickAndEditFormView(FormViewMixIn, EntityView): |
100 class ClickAndEditFormView(FormViewMixIn, EntityView): |
101 """form used to permit ajax edition of a relation or attribute of an entity |
101 """form used to permit ajax edition of a relation or attribute of an entity |
102 in a view, if logged user have the permission to edit it. |
102 in a view, if logged user have the permission to edit it. |
201 w(u'<div id="%s-reledit" class="field" ' |
201 w(u'<div id="%s-reledit" class="field" ' |
202 u'onmouseout="addElementClass(jQuery(\'#%s\'), \'hidden\')" ' |
202 u'onmouseout="addElementClass(jQuery(\'#%s\'), \'hidden\')" ' |
203 u'onmouseover="removeElementClass(jQuery(\'#%s\'), \'hidden\')">' |
203 u'onmouseover="removeElementClass(jQuery(\'#%s\'), \'hidden\')">' |
204 % (divid, divid, divid)) |
204 % (divid, divid, divid)) |
205 w(u'<div id="%s-value" class="editableFieldValue">%s</div>' % (divid, value)) |
205 w(u'<div id="%s-value" class="editableFieldValue">%s</div>' % (divid, value)) |
206 w(form.form_render(renderer=renderer)) |
206 w(form.render(renderer=renderer)) |
207 w(u'<div id="%s" class="editableField hidden" onclick="%s" title="%s">' % ( |
207 w(u'<div id="%s" class="editableField hidden" onclick="%s" title="%s">' % ( |
208 divid, xml_escape(self._onclick % form.event_args), |
208 divid, xml_escape(self._onclick % form.event_args), |
209 self.req._(self._landingzonemsg))) |
209 self.req._(self._landingzonemsg))) |
210 w(lzone) |
210 w(lzone) |
211 w(u'</div>') |
211 w(u'</div>') |
255 |
255 |
256 class DummyForm(object): |
256 class DummyForm(object): |
257 __slots__ = ('event_args',) |
257 __slots__ = ('event_args',) |
258 def form_render(self, **_args): |
258 def form_render(self, **_args): |
259 return u'' |
259 return u'' |
|
260 def render(self, **_args): |
|
261 return u'' |
260 def append_field(self, *args): |
262 def append_field(self, *args): |
261 pass |
263 pass |
262 |
264 |
263 class AutoClickAndEditFormView(ClickAndEditFormView): |
265 class AutoClickAndEditFormView(ClickAndEditFormView): |
264 """same as ClickAndEditFormView but checking if the view *should* be applied |
266 """same as ClickAndEditFormView but checking if the view *should* be applied |
318 self.form_title(entity) |
320 self.form_title(entity) |
319 form = self.vreg['forms'].select('edition', self.req, rset=entity.rset, |
321 form = self.vreg['forms'].select('edition', self.req, rset=entity.rset, |
320 row=entity.row, col=entity.col, entity=entity, |
322 row=entity.row, col=entity.col, entity=entity, |
321 submitmsg=self.submited_message()) |
323 submitmsg=self.submited_message()) |
322 self.init_form(form, entity) |
324 self.init_form(form, entity) |
323 self.w(form.form_render(formvid=u'edition')) |
325 self.w(form.render(rendervalues=dict(formvid=u'edition'))) |
324 |
326 |
325 def init_form(self, form, entity): |
327 def init_form(self, form, entity): |
326 """customize your form before rendering here""" |
328 """customize your form before rendering here""" |
327 pass |
329 pass |
328 |
330 |
456 should be the eid |
458 should be the eid |
457 """ |
459 """ |
458 #self.form_title(entity) |
460 #self.form_title(entity) |
459 form = self.vreg['forms'].select(self.id, self.req, rset=self.rset, |
461 form = self.vreg['forms'].select(self.id, self.req, rset=self.rset, |
460 copy_nav_params=True) |
462 copy_nav_params=True) |
461 self.w(form.form_render()) |
463 self.w(form.render()) |
462 |
464 |
463 |
465 |
464 class InlineEntityEditionFormView(FormViewMixIn, EntityView): |
466 class InlineEntityEditionFormView(FormViewMixIn, EntityView): |
465 """ |
467 """ |
466 :attr peid: the parent entity's eid hosting the inline form |
468 :attr peid: the parent entity's eid hosting the inline form |
521 countkey = '%s_count' % self.rtype |
523 countkey = '%s_count' % self.rtype |
522 try: |
524 try: |
523 self.req.data[countkey] += 1 |
525 self.req.data[countkey] += 1 |
524 except KeyError: |
526 except KeyError: |
525 self.req.data[countkey] = 1 |
527 self.req.data[countkey] = 1 |
526 self.w(self.form.form_render( |
528 # XXX split kwargs into additional rendervalues / formvalues |
527 divid=divid, title=title, removejs=removejs, i18nctx=i18nctx, |
529 self.w(self.form.render( |
528 counter=self.req.data[countkey], **kwargs)) |
530 rendervalues=dict(divid=divid, title=title, removejs=removejs, |
|
531 i18nctx=i18nctx, counter=self.req.data[countkey]), |
|
532 formvalues=kwargs)) |
529 |
533 |
530 def form_title(self, entity, i18nctx): |
534 def form_title(self, entity, i18nctx): |
531 return self.req.pgettext(i18nctx, 'This %s' % entity.e_schema) |
535 return self.req.pgettext(i18nctx, 'This %s' % entity.e_schema) |
532 |
536 |
533 def add_hiddens(self, form, entity): |
537 def add_hiddens(self, form, entity): |