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

        issue11714
        review437381003
diffstat:

 party.py |  12 ++++++------
 sale.py  |   4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

diffs (43 lines):

diff -r 695f23391e69 -r 3c2c6d74f4b1 party.py
--- a/party.py  Mon Sep 19 21:25:55 2022 +0200
+++ b/party.py  Sat Oct 01 15:35:33 2022 +0200
@@ -19,22 +19,22 @@
 
     @classmethod
     def search_marketing_party(cls, name, clause):
-        operand, operator, value = clause[:3]
-        nested = operand.lstrip(name)
+        _, operator, operand, *extra = clause[:3]
+        nested = clause[0][len(name):]
         if not nested:
             if operator.endswith('where'):
-                query = cls.search(value, order=[], query=True)
+                query = cls.search(operand, order=[], query=True)
                 if operator.startswith('not'):
                     return [('id', 'not in', query)]
                 else:
                     return [('id', 'in', query)]
-            elif isinstance(value, str):
+            elif isinstance(operand, str):
                 nested = 'rec_name'
             else:
                 nested = 'id'
         else:
-            nested = nested.lstrip('.')
-        return [(nested,) + tuple(clause[1:])]
+            nested = nested[1:]
+        return [(nested, operator, operand, *extra)]
 
 
 class PartyUnsubscribedScenario(ModelSQL):
diff -r 695f23391e69 -r 3c2c6d74f4b1 sale.py
--- a/sale.py   Mon Sep 19 21:25:55 2022 +0200
+++ b/sale.py   Sat Oct 01 15:35:33 2022 +0200
@@ -14,5 +14,5 @@
 
     @classmethod
     def search_marketing_party(cls, name, clause):
-        nested = clause[0].lstrip(name)
-        return [('party' + nested,) + tuple(clause[1:])]
+        nested = clause[0][len(name):]
+        return [('party' + nested, *clause[1:])]

Reply via email to