handle form values correctly when form is re-displayed because of an error
This commit is contained in:
parent
32171a4e2d
commit
8acf5d8a65
2 changed files with 7 additions and 2 deletions
|
@ -159,7 +159,11 @@ class ObjectForm(NodeView):
|
|||
for k, v in data.items():
|
||||
#overwrite data with values from request.form
|
||||
if k in self.request.form:
|
||||
data[k] = toUnicode(form[k])
|
||||
field = self.schema.fields.get(k)
|
||||
if field:
|
||||
fi = field.getFieldInstance(self.instance)
|
||||
data[k] = fi.marshall(fi.unmarshall(form[k]))
|
||||
#data[k] = toUnicode(form[k])
|
||||
return data
|
||||
|
||||
@Lazy
|
||||
|
|
|
@ -89,7 +89,8 @@ class RelationFieldInstance(FieldInstance, BaseRelationFieldInstance):
|
|||
|
||||
def marshall(self, value):
|
||||
if value:
|
||||
return dict(title=value.title, uid=util.getUidForObject(value.context))
|
||||
return dict(title=value.title,
|
||||
uid=util.getUidForObject(baseObject(value)))
|
||||
|
||||
def display(self, value):
|
||||
if value:
|
||||
|
|
Loading…
Add table
Reference in a new issue