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 |