From 655257ec2cd3e7bacbea829bf6429066cffbba49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 22 Feb 2022 23:06:02 +0100 Subject: [PATCH] Use dictionary as search_order on Reference field issue11251 review387941002 --- CHANGELOG | 1 + doc/ref/models/fields.rst | 4 +++- trytond/model/fields/reference.py | 6 +++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 88df4fa176..e55dbac76c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Use dictionary as search_order on Reference field * Retry sending email on temporary failure * Order not sorted Selection by index definition * Add optional column on tree view diff --git a/doc/ref/models/fields.rst b/doc/ref/models/fields.rst index 5b84506877..34bba5e11c 100644 --- a/doc/ref/models/fields.rst +++ b/doc/ref/models/fields.rst @@ -648,7 +648,9 @@ But a ``tuple`` can be used to search or set value. .. attribute:: Reference.search_order - Same as :attr:`Many2One.search_order` + A dictionary that contains a :ref:`PYSON ` expression defining + the default order used to display search results in the clients per model + name. .. attribute:: Reference.search_context diff --git a/trytond/model/fields/reference.py b/trytond/model/fields/reference.py index adea534d73..16c2700eba 100644 --- a/trytond/model/fields/reference.py +++ b/trytond/model/fields/reference.py @@ -85,7 +85,11 @@ class Reference(SelectionMixin, Field): @search_order.setter def search_order(self, value): - search_order_validate(value) + if value is None: + value = {} + assert isinstance(value, dict) + for order in value.values(): + search_order_validate(order) self.__search_order = value @property