From 3fa3c9d663a2f6a1bb4debc8f74457fe3cf4806f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 20 Jan 2020 11:31:16 +0100 Subject: [PATCH] Ensure to always store and compare sorted multiselection value issue9001 review268761002 --- tryton/gui/window/view_form/model/field.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index b27b2b17f6..2206e9b166 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -229,7 +229,12 @@ class MultiSelectionField(Field): _default = None def get(self, record): - return super().get(record) or self._default + value = super().get(record) + if not value: + value = self._default + else: + value.sort() + return value def get_eval(self, record): value = super().get_eval(record) @@ -237,6 +242,11 @@ class MultiSelectionField(Field): value = [] return value + def set_client(self, record, value, force_change=False): + if value: + value = sorted(value) + super().set_client(record, value, force_change=force_change) + class DateTimeField(Field):