changeset 0ff7d5831b7a in modules/product_kit:default
details: 
https://hg.tryton.org/modules/product_kit?cmd=changeset&node=0ff7d5831b7a
description:
        Use length of field name instead of lstrip to get nested part of clause

        issue11714
        review437381003
diffstat:

 common.py |  25 ++++++++++---------------
 1 files changed, 10 insertions(+), 15 deletions(-)

diffs (36 lines):

diff -r b039fb26138c -r 0ff7d5831b7a common.py
--- a/common.py Thu Sep 29 09:08:06 2022 +0200
+++ b/common.py Sat Oct 01 15:35:33 2022 +0200
@@ -36,22 +36,17 @@
                 bool_op = 'AND'
             else:
                 bool_op = 'OR'
-            nested = clause[0].lstrip(name)
-            if nested:
-                return [bool_op,
-                    domain,
-                    ('lines.components.moves.shipment' + nested,)
-                    + tuple(clause[1:3]) + (model_name,) + tuple(clause[3:]),
-                    ]
-            else:
-                if isinstance(clause[2], str):
-                    target = 'rec_name'
+            nested = clause[0][len(name):]
+            if not nested:
+                if isinstance(operand, str):
+                    nested = '.rec_name'
                 else:
-                    target = 'id'
-                return [bool_op,
-                    domain,
-                    ('lines.components.moves.shipment.' + target,)
-                    + tuple(clause[1:3]) + (model_name,)]
+                    nested = '.id'
+            return [bool_op,
+                domain,
+                ('lines.components.moves.shipment' + nested,
+                    operator, operand, model_name, *extra),
+                ]
         return wrapper
     return _search_shipments_returns
 

Reply via email to