Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 5b7b4806897c8dc1b1a00a59f3b963301d1b0e74
  • 16.0 par défaut protégée
2 résultats

acc_operation.py

Blame
  • portal.py 1,23 Kio
    # Copyright 2023 Le Filament (https://le-filament.com)
    # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
    
    from odoo import http
    from odoo.http import request
    
    from odoo.addons.portal.controllers.portal import CustomerPortal
    
    
    class PortalAccount(CustomerPortal):
        def _prepare_home_portal_values(self, counters):
            values = super()._prepare_home_portal_values(counters)
            if "discount_count" in counters:
                discount_count = len(
                    request.env["hall.contract"]
                    .sudo()
                    .search(
                        [("partner_id", "=", request.env.user.commercial_partner_id.id)]
                    )
                    .discount_ids
                )
                values["discount_count"] = discount_count
            return values
    
        @http.route(["/my/discounts"], type="http", auth="user", website=True)
        def portal_my_discounts(self, **kw):
            discount_ids = (
                request.env["hall.contract"]
                .sudo()
                .search([("partner_id", "=", request.env.user.commercial_partner_id.id)])
                .discount_ids
            )
            values = {
                "discount_ids": discount_ids,
            }
            return request.render("festa_portal.portal_my_discounts", values)