details: https://code.tryton.org/tryton/commit/f859e3843468
branch: default
user: Cédric Krier <[email protected]>
date: Wed Mar 25 22:11:59 2026 +0100
description:
Do not call on_change_party when creating sale from webshop
Only the addresses are set from the party to prevent side effects from
other
modules who may extended the method.
diffstat:
modules/web_shop/web.py | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diffs (22 lines):
diff -r 2ec0ff372d38 -r f859e3843468 modules/web_shop/web.py
--- a/modules/web_shop/web.py Wed Mar 25 23:25:50 2026 +0100
+++ b/modules/web_shop/web.py Wed Mar 25 22:11:59 2026 +0100
@@ -255,11 +255,16 @@
Sale = pool.get('sale.sale')
if not party:
party = self.guest_party
- sale = Sale(party=party)
+ sale = Sale()
sale.company = self.company
sale.warehouse = self.warehouse
sale.web_shop = self
- sale.on_change_party()
+ if party:
+ sale.party = party
+ sale.invoice_address = party.address_get(type='invoice')
+ with Transaction().set_context(
+ warehouse=self.warehouse.id if self.warehouse else None):
+ sale.shipment_address = party.address_get(type='delivery')
sale.on_change_web_shop()
sale.currency = self.currency
sale.invoice_method = 'order'