changeset 3583f192a9ef in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset&node=3583f192a9ef
description:
        Use dictionary as search_order on Reference field

        issue11251
        review387941002
diffstat:

 CHANGELOG                         |  1 +
 doc/ref/models/fields.rst         |  4 +++-
 trytond/model/fields/reference.py |  6 +++++-
 3 files changed, 9 insertions(+), 2 deletions(-)

diffs (38 lines):

diff -r 7c80c96d7906 -r 3583f192a9ef CHANGELOG
--- a/CHANGELOG Tue Feb 22 22:58:33 2022 +0100
+++ b/CHANGELOG Tue Feb 22 23:06:02 2022 +0100
@@ -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 -r 7c80c96d7906 -r 3583f192a9ef doc/ref/models/fields.rst
--- a/doc/ref/models/fields.rst Tue Feb 22 22:58:33 2022 +0100
+++ b/doc/ref/models/fields.rst Tue Feb 22 23:06:02 2022 +0100
@@ -648,7 +648,9 @@
 
 .. attribute:: Reference.search_order
 
-    Same as :attr:`Many2One.search_order`
+   A dictionary that contains a :ref:`PYSON <ref-pyson>` expression defining
+   the default order used to display search results in the clients per model
+   name.
 
 .. attribute:: Reference.search_context
 
diff -r 7c80c96d7906 -r 3583f192a9ef trytond/model/fields/reference.py
--- a/trytond/model/fields/reference.py Tue Feb 22 22:58:33 2022 +0100
+++ b/trytond/model/fields/reference.py Tue Feb 22 23:06:02 2022 +0100
@@ -85,7 +85,11 @@
 
     @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

Reply via email to