web/views/forms.py
changeset 7990 a673d1d9a738
parent 7929 900f1627b171
child 8128 0a927fe4541b
equal deleted inserted replaced
7989:db76e8aaec29 7990:a673d1d9a738
   180         if self.needs_js:
   180         if self.needs_js:
   181             self._cw.add_js(self.needs_js)
   181             self._cw.add_js(self.needs_js)
   182         if self.needs_css:
   182         if self.needs_css:
   183             self._cw.add_css(self.needs_css)
   183             self._cw.add_css(self.needs_css)
   184 
   184 
   185     def render(self, formvalues=None, rendervalues=None, renderer=None, **kwargs):
   185     def render(self, formvalues=None, renderer=None, **kwargs):
   186         """Render this form, using the `renderer` given as argument or the
   186         """Render this form, using the `renderer` given as argument or the
   187         default according to :attr:`form_renderer_id`. The rendered form is
   187         default according to :attr:`form_renderer_id`. The rendered form is
   188         returned as an unicode string.
   188         returned as an unicode string.
   189 
   189 
   190         `formvalues` is an optional dictionary containing values that will be
   190         `formvalues` is an optional dictionary containing values that will be
   191         considered as field's value.
   191         considered as field's value.
   192 
   192 
   193         Extra keyword arguments will be given to renderer's :meth:`render` method.
   193         Extra keyword arguments will be given to renderer's :meth:`render` method.
   194 
   194         """
   195         `rendervalues` is deprecated.
       
   196         """
       
   197         if rendervalues is not None:
       
   198             warn('[3.6] rendervalues argument is deprecated, all named arguments will be given instead',
       
   199                  DeprecationWarning, stacklevel=2)
       
   200             kwargs = rendervalues
       
   201         w = kwargs.pop('w', None)
   195         w = kwargs.pop('w', None)
   202         if w is None:
   196         if w is None:
   203             warn('[3.10] you should specify "w" to form.render() named arguments',
   197             warn('[3.10] you should specify "w" to form.render() named arguments',
   204                  DeprecationWarning, stacklevel=2)
   198                  DeprecationWarning, stacklevel=2)
   205             data = []
   199             data = []
   304             if errors:
   298             if errors:
   305                 errors = dict((f.role_name(), unicode(ex)) for f, ex in errors)
   299                 errors = dict((f.role_name(), unicode(ex)) for f, ex in errors)
   306                 raise ValidationError(None, errors)
   300                 raise ValidationError(None, errors)
   307             return processed
   301             return processed
   308 
   302 
   309     @deprecated('[3.6] use .add_hidden(name, value, **kwargs)')
       
   310     def form_add_hidden(self, name, value=None, **kwargs):
       
   311         return self.add_hidden(name, value, **kwargs)
       
   312 
       
   313     @deprecated('[3.6] use .render(formvalues, **rendervalues)')
       
   314     def form_render(self, **values):
       
   315         """render this form, using the renderer given in args or the default
       
   316         FormRenderer()
       
   317         """
       
   318         self.build_context(values)
       
   319         renderer = values.pop('renderer', None)
       
   320         if renderer is None:
       
   321             renderer = self.default_renderer()
       
   322         return renderer.render(self, values)
       
   323 
       
   324 
   303 
   325 _AFF = uicfg.autoform_field
   304 _AFF = uicfg.autoform_field
   326 _AFF_KWARGS = uicfg.autoform_field_kwargs
   305 _AFF_KWARGS = uicfg.autoform_field_kwargs
   327 
   306 
   328 class EntityFieldsForm(FieldsForm):
   307 class EntityFieldsForm(FieldsForm):
   457                 return None
   436                 return None
   458 
   437 
   459     def editable_relations(self):
   438     def editable_relations(self):
   460         return ()
   439         return ()
   461 
   440 
   462     @deprecated('[3.6] use cw.web.formfields.RelationField.relvoc_unrelated method')
       
   463     def subject_relation_vocabulary(self, rtype, limit=None):
       
   464         """defaut vocabulary method for the given relation, looking for
       
   465         relation's object entities (i.e. self is the subject)
       
   466         """
       
   467         field = self.field_by_name(rtype, 'subject')
       
   468         return field.relvoc_unrelated(form, limit=None)
       
   469 
       
   470     @deprecated('[3.6] use cw.web.formfields.relvoc_unrelated method')
       
   471     def object_relation_vocabulary(self, rtype, limit=None):
       
   472         field = self.field_by_name(rtype, 'object')
       
   473         return field.relvoc_unrelated(form, limit=None)
       
   474 
       
   475 
   441 
   476 class CompositeFormMixIn(object):
   442 class CompositeFormMixIn(object):
   477     __regid__ = 'composite'
   443     __regid__ = 'composite'
   478     form_renderer_id = __regid__
   444     form_renderer_id = __regid__
   479 
   445