From e04c6a696900590b6301d54abba0c227c1cf7337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Mon, 23 Dec 2019 15:42:13 +0100 Subject: [PATCH] [ADD] b_w_portal: Total pos order amount for a user --- beesdoo_website_portal/controllers/main.py | 1 + beesdoo_website_posorder_amount/__init__.py | 2 ++ .../__openerp__.py | 19 ++++++++++++ .../controllers/__init__.py | 2 ++ .../controllers/main.py | 30 +++++++++++++++++++ .../templates/portal_posorder_amount.xml | 26 ++++++++++++++++ 6 files changed, 80 insertions(+) create mode 100644 beesdoo_website_posorder_amount/__init__.py create mode 100644 beesdoo_website_posorder_amount/__openerp__.py create mode 100644 beesdoo_website_posorder_amount/controllers/__init__.py create mode 100644 beesdoo_website_posorder_amount/controllers/main.py create mode 100644 beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml diff --git a/beesdoo_website_portal/controllers/main.py b/beesdoo_website_portal/controllers/main.py index 104f2a8..21568a2 100644 --- a/beesdoo_website_portal/controllers/main.py +++ b/beesdoo_website_portal/controllers/main.py @@ -5,6 +5,7 @@ from openerp.addons.website_portal_extend.controllers.main import ExtendWebsiteAccountController +from openerp.http import request class BeesdooAccountWebsiteController(ExtendWebsiteAccountController): diff --git a/beesdoo_website_posorder_amount/__init__.py b/beesdoo_website_posorder_amount/__init__.py new file mode 100644 index 0000000..2fa08e5 --- /dev/null +++ b/beesdoo_website_posorder_amount/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf8 -*- +import controllers diff --git a/beesdoo_website_posorder_amount/__openerp__.py b/beesdoo_website_posorder_amount/__openerp__.py new file mode 100644 index 0000000..3ed5327 --- /dev/null +++ b/beesdoo_website_posorder_amount/__openerp__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Copyright 2019 Coop IT Easy SCRLfs +# Rémy Taymans +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Portal Website POS order amount", + "summary": """ + Show the total amount of pos order in the website portal. + """, + "description": """ + """, + "author": "Coop IT Easy SCRLfs", + "license": "AGPL-3", + "version": "9.0.1.0", + "website": "https://github.com/beescoop/Obeesdoo", + "category": "Website", + "depends": ["website_portal_v10"], + "data": ["templates/portal_posorder_amount.xml"], +} diff --git a/beesdoo_website_posorder_amount/controllers/__init__.py b/beesdoo_website_posorder_amount/controllers/__init__.py new file mode 100644 index 0000000..757b12a --- /dev/null +++ b/beesdoo_website_posorder_amount/controllers/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import main diff --git a/beesdoo_website_posorder_amount/controllers/main.py b/beesdoo_website_posorder_amount/controllers/main.py new file mode 100644 index 0000000..ba10fbc --- /dev/null +++ b/beesdoo_website_posorder_amount/controllers/main.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018 Rémy Taymans +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from openerp.addons.website_portal_v10.controllers.main import WebsiteAccount +from openerp.http import request + + +class PortalPosOrderAmount(WebsiteAccount): + + def _prepare_portal_layout_values(self): + values = super( + PortalPosOrderAmount, self + )._prepare_portal_layout_values() + user = request.env.user + owned_posorder = request.env["pos.order"].sudo().search( + [ + ("partner_id", "=", user.partner_id.commercial_partner_id.id), + ("state", "!=", "cancel"), + ] + ) + values["posorder_amount"] = sum( + po.amount_total for po in owned_posorder + ) + values["company_currency"] = ( + request.env["res.company"]._company_default_get().currency_id + ) + return values diff --git a/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml b/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml new file mode 100644 index 0000000..145c266 --- /dev/null +++ b/beesdoo_website_posorder_amount/templates/portal_posorder_amount.xml @@ -0,0 +1,26 @@ + + + + + + + +