You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1.2 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. # Copyright 2021 Le Filament (<http://www.le-filament.com>)
  2. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
  3. from odoo.http import request
  4. from odoo import http, _
  5. from odoo.addons.website_sale.controllers.main import WebsiteSale
  6. from odoo.addons.website_coupon.controllers.main import WebsiteCoupon
  7. class WebsiteCoupon(WebsiteCoupon):
  8. @http.route(['/shop/cart'], type='http', auth="public", website=True, sitemap=False)
  9. def cart(self, access_token=None, revive='', **post):
  10. res = super(WebsiteCoupon, self).cart(access_token, revive, **post)
  11. order = request.website.sale_get_order()
  12. res.qcontext['no_pass_payment'] = False
  13. if order.amount_total <= request.website.amount_limit:
  14. res.qcontext['no_pass_payment'] = True
  15. res.qcontext['amount_limit'] = request.website.amount_limit
  16. return res
  17. class WebsiteSale(WebsiteSale):
  18. @http.route(['/shop/checkout'], type='http', auth="public", website=True, sitemap=False)
  19. def checkout(self, **post):
  20. order = request.website.sale_get_order()
  21. if order.amount_total <= request.website.amount_limit:
  22. return request.redirect('/shop/cart')
  23. return super(WebsiteSale, self).checkout(**post)