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

        issue11714
        review437381003
diffstat:

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

diffs (28 lines):

diff -r e84b2aaefd4e -r 696862f0e72f sale.py
--- a/sale.py   Sat Oct 01 15:12:38 2022 +0200
+++ b/sale.py   Sat Oct 01 15:35:33 2022 +0200
@@ -48,17 +48,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