Fix on_change set for xxx2many fields

- Always mark record as changed
- Skip fields with dot

review321001
(transplanted from d6359ccb7844d5286d4f0a96467f37f9e9f87ec5)
This commit is contained in:
Cédric Krier committed 2012-04-11 13:04:07 +02:00
1 parent 3c63d97307
commit c47bb2ee70
1 file changed
+3 -6
+3 -6
View File
@@ -667,11 +667,8 @@ class Model(object):
return res
def _on_change_set(self, field, value):
if self._fields[field]['type'] in ('one2many', 'many2many'):
if isinstance(value, (list, tuple)):
self._values[field] = value
self._changed.add(field)
return
if (self._fields[field]['type'] in ('one2many', 'many2many')
and not isinstance(value, (list, tuple))):
to_remove = []
if value and value.get('remove'):
for record_id in value['remove']:
@@ -697,7 +694,7 @@ class Model(object):
record._changed.add(i)
else:
self._values[field] = value
self._changed.add(field)
self._changed.add(field)
def _on_change(self, name):
'Call on_change for field'