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(): |         for k, v in data.items(): | ||||||
|             #overwrite data with values from request.form |             #overwrite data with values from request.form | ||||||
|             if k in self.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 |         return data | ||||||
| 
 | 
 | ||||||
|     @Lazy |     @Lazy | ||||||
|  |  | ||||||
|  | @ -89,7 +89,8 @@ class RelationFieldInstance(FieldInstance, BaseRelationFieldInstance): | ||||||
| 
 | 
 | ||||||
|     def marshall(self, value): |     def marshall(self, value): | ||||||
|         if 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): |     def display(self, value): | ||||||
|         if value: |         if value: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue