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:])]