[FIX] pos_online_payment: prioritize pos order customer

Before this commit:
POS online payments uses the logged-in user or the public user,
even when a POS order customer might also be present.

After this commit:
We check the partner_id for POS orders and give it
precedence over both the logged-in user and the public user.

task-3805695

closes odoo/odoo#157562

Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
This commit is contained in:
Harsh Modi
2024-03-14 19:04:48 +00:00
parent a198d2dc1d
commit 34416ecf87
@@ -99,7 +99,7 @@ class PaymentPortal(payment_portal.PaymentPortal):
user_sudo = request.env.user
logged_in = not user_sudo._is_public()
partner_sudo = self._get_partner_sudo(user_sudo)
partner_sudo = pos_order_sudo.partner_id or self._get_partner_sudo(user_sudo)
if not partner_sudo:
return self._redirect_login()
@@ -179,7 +179,7 @@ class PaymentPortal(payment_portal.PaymentPortal):
exit_route = request.httprequest.args.get('exit_route')
user_sudo = request.env.user
logged_in = not user_sudo._is_public()
partner_sudo = self._get_partner_sudo(user_sudo)
partner_sudo = pos_order_sudo.partner_id or self._get_partner_sudo(user_sudo)
if not partner_sudo:
return self._redirect_login()