333 |
333 |
334 def render_buttons(self, w, form): |
334 def render_buttons(self, w, form): |
335 pass |
335 pass |
336 |
336 |
337 |
337 |
|
338 class OneRowTableFormRenderer(FormRenderer): |
|
339 """The 'htable' form renderer display fields horizontally in a table: |
|
340 |
|
341 +--------------+--------------+--------------+--------------+---------+ |
|
342 | field1 label | field1 input | field2 label | field2 input | buttons | |
|
343 +--------------+--------------+--------------+--------------+---------+ |
|
344 """ |
|
345 __regid__ = 'onerowtable' |
|
346 |
|
347 display_help = False |
|
348 def _render_fields(self, fields, w, form): |
|
349 w(u'<table border="0" class="oneRowTableForm">') |
|
350 w(u'<tr>') |
|
351 for field in fields: |
|
352 if self.display_label: |
|
353 w(u'<th class="labelCol">%s</th>' % self.render_label(form, field)) |
|
354 if self.display_help: |
|
355 w(self.render_help(form, field)) |
|
356 error = form.field_error(field) |
|
357 if error: |
|
358 w(u'<td class="error">') |
|
359 self.render_error(w, error) |
|
360 else: |
|
361 w(u'<td>') |
|
362 w(field.render(form, self)) |
|
363 w(u'</td>') |
|
364 w(u'<td>') |
|
365 for button in form.form_buttons: |
|
366 w(button.render(form)) |
|
367 w(u'</td>') |
|
368 w(u'</tr>') |
|
369 w(u'</table>') |
|
370 |
|
371 def render_buttons(self, w, form): |
|
372 pass |
|
373 |
|
374 |
338 class EntityCompositeFormRenderer(FormRenderer): |
375 class EntityCompositeFormRenderer(FormRenderer): |
339 """This is a specific renderer for the multiple entities edition form |
376 """This is a specific renderer for the multiple entities edition form |
340 ('muledit'). |
377 ('muledit'). |
341 |
378 |
342 Each entity form will be displayed in row off a table, with a check box for |
379 Each entity form will be displayed in row off a table, with a check box for |