diff --git a/beesdoo_website_posorder_amount/controllers/main.py b/beesdoo_website_posorder_amount/controllers/main.py index 9e2654d..f4f9439 100644 --- a/beesdoo_website_posorder_amount/controllers/main.py +++ b/beesdoo_website_posorder_amount/controllers/main.py @@ -2,6 +2,8 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from itertools import groupby + from odoo.http import request from odoo.addons.portal.controllers.portal import CustomerPortal @@ -30,6 +32,15 @@ class PortalPosOrderAmount(CustomerPortal): values["posorder_amount"] = sum( po.amount_total for po in owned_posorder ) + values["posorder_amount_by_year"] = [ + { + "year": key, + "amount": sum(element.amount_total for element in group), + } + for key, group in groupby( + owned_posorder, key=lambda element: element.date_order.year + ) + ] values["company_currency"] = ( request.env["res.company"]._company_default_get().currency_id ) diff --git a/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml b/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml index 89f8fb7..702ff00 100644 --- a/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml +++ b/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml @@ -21,6 +21,24 @@ t-esc-options='{"widget": "monetary", "display_currency": "company_currency"}'/> .

+ + + + + + + + + +
+ Year + + Amount +
+ + + +