[FIX] sale: use billing address whenever possible
In the case of transaction linked to sales orders it is more appropiated to use the invoice partner related to the sale order than its main partner. After this fix the invoice partner of sale orders will be used for transactions linked to it. opw - 3212748 closes odoo/odoo#119962 X-original-commit: 6eaf11d1ac0d9fc3cd9d458e6ee1f27159216d40 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Signed-off-by: Horacio Tellez Perez (hote) <hote@odoo.com>
This commit is contained in:
committed by
Horacio Tellez (hote)
parent
7b306edd0b
commit
8164ac4e22
@@ -309,7 +309,7 @@ class PaymentPortal(payment_portal.PaymentPortal):
|
||||
|
||||
kwargs.update({
|
||||
'reference_prefix': None, # Allow the reference to be computed based on the order
|
||||
'partner_id': order_sudo.partner_id.id,
|
||||
'partner_id': order_sudo.partner_invoice_id.id,
|
||||
'sale_order_id': order_id, # Include the SO to allow Subscriptions tokenizing the tx
|
||||
})
|
||||
kwargs.pop('custom_create_values', None) # Don't allow passing arbitrary create values
|
||||
@@ -352,7 +352,7 @@ class PaymentPortal(payment_portal.PaymentPortal):
|
||||
|
||||
kwargs.update({
|
||||
'currency_id': order_sudo.currency_id.id,
|
||||
'partner_id': order_sudo.partner_id.id,
|
||||
'partner_id': order_sudo.partner_invoice_id.id,
|
||||
'company_id': order_sudo.company_id.id,
|
||||
'sale_order_id': sale_order_id,
|
||||
})
|
||||
|
||||
@@ -35,7 +35,7 @@ class TestSalePayment(AccountPaymentCommon, SaleCommon, PaymentHttpCommon):
|
||||
patched.assert_called_once_with(ANY, sale_order_id=ANY)
|
||||
|
||||
self.assertEqual(tx_context['currency_id'], self.sale_order.currency_id.id)
|
||||
self.assertEqual(tx_context['partner_id'], self.sale_order.partner_id.id)
|
||||
self.assertEqual(tx_context['partner_id'], self.sale_order.partner_invoice_id.id)
|
||||
self.assertEqual(tx_context['amount'], self.sale_order.amount_total)
|
||||
self.assertEqual(tx_context['sale_order_id'], self.sale_order.id)
|
||||
|
||||
@@ -56,7 +56,7 @@ class TestSalePayment(AccountPaymentCommon, SaleCommon, PaymentHttpCommon):
|
||||
|
||||
self.assertEqual(tx_sudo.sale_order_ids, self.sale_order)
|
||||
self.assertEqual(tx_sudo.amount, self.amount)
|
||||
self.assertEqual(tx_sudo.partner_id, self.sale_order.partner_id)
|
||||
self.assertEqual(tx_sudo.partner_id, self.sale_order.partner_invoice_id)
|
||||
self.assertEqual(tx_sudo.company_id, self.sale_order.company_id)
|
||||
self.assertEqual(tx_sudo.currency_id, self.sale_order.currency_id)
|
||||
self.assertEqual(tx_sudo.reference, self.sale_order.name)
|
||||
@@ -81,7 +81,7 @@ class TestSalePayment(AccountPaymentCommon, SaleCommon, PaymentHttpCommon):
|
||||
|
||||
self.assertEqual(tx_context['reference_prefix'], self.reference)
|
||||
self.assertEqual(tx_context['currency_id'], self.sale_order.currency_id.id)
|
||||
self.assertEqual(tx_context['partner_id'], self.sale_order.partner_id.id)
|
||||
self.assertEqual(tx_context['partner_id'], self.sale_order.partner_invoice_id.id)
|
||||
self.assertEqual(tx_context['amount'], self.amount)
|
||||
self.assertEqual(tx_context['sale_order_id'], self.sale_order.id)
|
||||
|
||||
@@ -99,7 +99,7 @@ class TestSalePayment(AccountPaymentCommon, SaleCommon, PaymentHttpCommon):
|
||||
|
||||
self.assertEqual(tx_sudo.sale_order_ids, self.sale_order)
|
||||
self.assertEqual(tx_sudo.amount, self.amount)
|
||||
self.assertEqual(tx_sudo.partner_id, self.sale_order.partner_id)
|
||||
self.assertEqual(tx_sudo.partner_id, self.sale_order.partner_invoice_id)
|
||||
self.assertEqual(tx_sudo.company_id, self.sale_order.company_id)
|
||||
self.assertEqual(tx_sudo.currency_id, self.sale_order.currency_id)
|
||||
self.assertEqual(tx_sudo.reference, self.reference)
|
||||
@@ -118,7 +118,7 @@ class TestSalePayment(AccountPaymentCommon, SaleCommon, PaymentHttpCommon):
|
||||
|
||||
self.assertEqual(tx_context['reference_prefix'], self.reference)
|
||||
self.assertEqual(tx_context['currency_id'], self.sale_order.currency_id.id)
|
||||
self.assertEqual(tx_context['partner_id'], self.sale_order.partner_id.id)
|
||||
self.assertEqual(tx_context['partner_id'], self.sale_order.partner_invoice_id.id)
|
||||
self.assertEqual(tx_context['amount'], self.amount)
|
||||
self.assertEqual(tx_context['sale_order_id'], self.sale_order.id)
|
||||
|
||||
@@ -136,7 +136,7 @@ class TestSalePayment(AccountPaymentCommon, SaleCommon, PaymentHttpCommon):
|
||||
|
||||
self.assertEqual(tx2_sudo.sale_order_ids, self.sale_order)
|
||||
self.assertEqual(tx2_sudo.amount, self.amount)
|
||||
self.assertEqual(tx2_sudo.partner_id, self.sale_order.partner_id)
|
||||
self.assertEqual(tx2_sudo.partner_id, self.sale_order.partner_invoice_id)
|
||||
self.assertEqual(tx2_sudo.company_id, self.sale_order.company_id)
|
||||
self.assertEqual(tx2_sudo.currency_id, self.sale_order.currency_id)
|
||||
|
||||
|
||||
@@ -1494,7 +1494,7 @@ class WebsiteSale(http.Controller):
|
||||
portal_page_values = {
|
||||
'website_sale_order': order,
|
||||
'errors': [],
|
||||
'partner': order.partner_id,
|
||||
'partner': order.partner_invoice_id,
|
||||
'order': order,
|
||||
'payment_action_id': request.env.ref('payment.action_payment_provider').id,
|
||||
}
|
||||
@@ -1799,7 +1799,7 @@ class PaymentPortal(payment_portal.PaymentPortal):
|
||||
|
||||
kwargs.update({
|
||||
'reference_prefix': None, # Allow the reference to be computed based on the order
|
||||
'partner_id': order_sudo.partner_id.id,
|
||||
'partner_id': order_sudo.partner_invoice_id.id,
|
||||
'sale_order_id': order_id, # Include the SO to allow Subscriptions to tokenize the tx
|
||||
})
|
||||
kwargs.pop('custom_create_values', None) # Don't allow passing arbitrary create values
|
||||
|
||||
Reference in New Issue
Block a user