Various forms2 changes
This commit is contained in:
parent
587871e87c
commit
1e8a4534d5
5 changed files with 35 additions and 25 deletions
|
@ -360,12 +360,12 @@ class Form(object):
|
|||
self.remove(*args)
|
||||
|
||||
def make_schema(self):
|
||||
if not self.model_class:
|
||||
# TODO
|
||||
raise NotImplementedError
|
||||
|
||||
if not self.schema:
|
||||
|
||||
if not self.model_class:
|
||||
# TODO
|
||||
raise NotImplementedError
|
||||
|
||||
mapper = orm.class_mapper(self.model_class)
|
||||
|
||||
# first filter our "full" field list so we ignore certain ones. in
|
||||
|
@ -438,6 +438,10 @@ class Form(object):
|
|||
def set_label(self, key, label):
|
||||
self.labels[key] = label
|
||||
|
||||
# update schema if necessary
|
||||
if self.schema and key in self.schema:
|
||||
self.schema[key].title = label
|
||||
|
||||
def get_label(self, key):
|
||||
return self.labels.get(key, prettify(key))
|
||||
|
||||
|
@ -498,6 +502,10 @@ class Form(object):
|
|||
def set_widget(self, key, widget):
|
||||
self.widgets[key] = widget
|
||||
|
||||
# update schema if necessary
|
||||
if self.schema and key in self.schema:
|
||||
self.schema[key].widget = widget
|
||||
|
||||
def set_validator(self, key, validator):
|
||||
self.validators[key] = validator
|
||||
|
||||
|
@ -659,8 +667,13 @@ class Form(object):
|
|||
return getattr(record, field_name)
|
||||
|
||||
def validate(self, *args, **kwargs):
|
||||
raise_error = kwargs.pop('raise_error', True)
|
||||
form = self.make_deform_form()
|
||||
return form.validate(*args, **kwargs)
|
||||
try:
|
||||
return form.validate(*args, **kwargs)
|
||||
except deform.ValidationFailure:
|
||||
if raise_error:
|
||||
raise
|
||||
|
||||
|
||||
class FieldList(list):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue