16 from cubicweb.selectors import (one_line_rset, none_rset, implements, |
16 from cubicweb.selectors import (one_line_rset, none_rset, implements, |
17 match_user_groups) |
17 match_user_groups) |
18 from cubicweb.view import StartupView |
18 from cubicweb.view import StartupView |
19 from cubicweb.web import uicfg, stdmsgs |
19 from cubicweb.web import uicfg, stdmsgs |
20 from cubicweb.web.form import CompositeForm, EntityFieldsForm, FormViewMixIn |
20 from cubicweb.web.form import CompositeForm, EntityFieldsForm, FormViewMixIn |
21 from cubicweb.web.formrenderers import FormRenderer |
|
22 from cubicweb.web.formfields import FIELDS, StringField |
21 from cubicweb.web.formfields import FIELDS, StringField |
23 from cubicweb.web.formwidgets import Select, Button, SubmitButton |
22 from cubicweb.web.formwidgets import Select, Button, SubmitButton |
24 from cubicweb.web.views import primary |
23 from cubicweb.web.views import primary, formrenderers |
25 |
24 |
26 |
25 |
27 # some string we want to be internationalizable for nicer display of property |
26 # some string we want to be internationalizable for nicer display of property |
28 # groups |
27 # groups |
29 _('navigation') |
28 _('navigation') |
199 path, params = path.split('?', 1) |
198 path, params = path.split('?', 1) |
200 form.form_add_hidden('__redirectparams', params) |
199 form.form_add_hidden('__redirectparams', params) |
201 form.form_add_hidden('__redirectpath', path) |
200 form.form_add_hidden('__redirectpath', path) |
202 for key in keys: |
201 for key in keys: |
203 self.form_row(form, key, splitlabel) |
202 self.form_row(form, key, splitlabel) |
204 renderer = CWPropertiesFormRenderer() |
203 renderer = CWPropertiesFormRenderer(self.req, display_progress_div=False) |
205 return form.form_render(display_progress_div=False, |
204 return form.form_render(renderer=renderer) |
206 renderer=renderer) |
|
207 |
205 |
208 def form_row(self, form, key, splitlabel): |
206 def form_row(self, form, key, splitlabel): |
209 entity = self.entity_for_key(key) |
207 entity = self.entity_for_key(key) |
210 if splitlabel: |
208 if splitlabel: |
211 label = key.split('.')[-1] |
209 label = key.split('.')[-1] |
357 |
355 |
358 uicfg.autoform_field.tag_attribute(('CWProperty', 'pkey'), PropertyKeyField) |
356 uicfg.autoform_field.tag_attribute(('CWProperty', 'pkey'), PropertyKeyField) |
359 uicfg.autoform_field.tag_attribute(('CWProperty', 'value'), PropertyValueField) |
357 uicfg.autoform_field.tag_attribute(('CWProperty', 'value'), PropertyValueField) |
360 |
358 |
361 |
359 |
362 class CWPropertiesFormRenderer(FormRenderer): |
360 class CWPropertiesFormRenderer(formrenderers.FormRenderer): |
363 """specific renderer for properties""" |
361 """specific renderer for properties""" |
|
362 id = 'cwproperties' |
364 |
363 |
365 def open_form(self, form, values): |
364 def open_form(self, form, values): |
366 err = '<div class="formsg"></div>' |
365 err = '<div class="formsg"></div>' |
367 return super(CWPropertiesFormRenderer, self).open_form(form, values) + err |
366 return super(CWPropertiesFormRenderer, self).open_form(form, values) + err |
368 |
367 |