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

        issue11714
        review437381003
diffstat:

 purchase.py |  16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

diffs (28 lines):

diff -r 6beb3c3a4247 -r 3c8974df1eef purchase.py
--- a/purchase.py       Sat Oct 01 14:45:59 2022 +0200
+++ b/purchase.py       Sat Oct 01 15:35:33 2022 +0200
@@ -50,17 +50,15 @@
 def search_shipments_returns(model_name):
     "Search on shipments or returns"
     def method(self, name, clause):
-        nested = clause[0].lstrip(name)
-        if nested:
-            return [('lines.moves.shipment' + nested,)
-                + tuple(clause[1:3]) + (model_name,) + tuple(clause[3:])]
-        else:
+        _, operator, operand, *extra = clause
+        nested = clause[0][len(name):]
+        if not nested:
             if isinstance(clause[2], str):
-                target = 'rec_name'
+                nested = '.rec_name'
             else:
-                target = 'id'
-            return [('lines.moves.shipment.' + target,)
-                + tuple(clause[1:3]) + (model_name,)]
+                nested = '.id'
+        return [('lines.moves.shipment' + nested,
+                operator, operand, model_name, *extra)]
     return classmethod(method)
 
 

Reply via email to