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)