changes
This commit is contained in:
51
fusion_clover/controllers/portal.py
Normal file
51
fusion_clover/controllers/portal.py
Normal file
@@ -0,0 +1,51 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
from odoo.addons.sale.controllers.portal import CustomerPortal
|
||||
|
||||
|
||||
class CloverCustomerPortal(CustomerPortal):
|
||||
|
||||
@http.route()
|
||||
def portal_order_page(
|
||||
self,
|
||||
order_id,
|
||||
report_type=None,
|
||||
access_token=None,
|
||||
message=False,
|
||||
download=False,
|
||||
payment_amount=None,
|
||||
amount_selection=None,
|
||||
**kw
|
||||
):
|
||||
"""Auto-inject payment_amount for confirmed orders with outstanding balance."""
|
||||
if payment_amount is None:
|
||||
try:
|
||||
order_sudo = self._document_check_access(
|
||||
'sale.order', order_id, access_token=access_token,
|
||||
)
|
||||
except Exception:
|
||||
order_sudo = None
|
||||
|
||||
if order_sudo:
|
||||
is_rental = getattr(order_sudo, 'is_rental_order', False)
|
||||
if (
|
||||
order_sudo.state == 'sale'
|
||||
and not is_rental
|
||||
and order_sudo.amount_total > 0
|
||||
and order_sudo.amount_paid < order_sudo.amount_total
|
||||
):
|
||||
payment_amount = order_sudo.amount_total - order_sudo.amount_paid
|
||||
|
||||
return super().portal_order_page(
|
||||
order_id,
|
||||
report_type=report_type,
|
||||
access_token=access_token,
|
||||
message=message,
|
||||
download=download,
|
||||
payment_amount=payment_amount,
|
||||
amount_selection=amount_selection,
|
||||
**kw,
|
||||
)
|
||||
Reference in New Issue
Block a user