web/views/cwproperties.py
changeset 1995 ec95eaa2b711
parent 1977 606923dff11b
child 2005 e8032965f37a
equal deleted inserted replaced
1994:56a235af050e 1995:ec95eaa2b711
    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