From 64bcd922befff49682ba35c0667a4039161effd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 16 Aug 2012 15:57:42 +0200 Subject: [PATCH] Don't reset rec_name if it is still the same This could happen during the domain validation when only one value is possible. review459001 --- tryton/gui/window/view_form/model/field.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index a06a4b05d7..5bb60322e2 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -398,7 +398,10 @@ class M2OField(CharField): if isinstance(value, (tuple, list)): value, rec_name = value else: - rec_name = '' + if value == self.get(record): + rec_name = record.value.get(self.name + '.rec_name', '') + else: + rec_name = '' record.value[self.name + '.rec_name'] = rec_name super(M2OField, self).set_client(record, value, force_change=force_change) @@ -829,7 +832,10 @@ class ReferenceField(CharField): if isinstance(ref_id, (tuple, list)): ref_id, rec_name = ref_id else: - rec_name = '' + if ','.join(map(str(ref_model, ref_id))) == self.get(record): + rec_name = record.value.get(self.name + '.rec_name', '') + else: + rec_name = '' record.value[self.name + '.rec_name'] = rec_name value = (ref_model, ref_id) super(ReferenceField, self).set_client(record, value,