From 171fd36ef29cbd64e687078fee8f3403e61c6806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 2 Sep 2022 17:58:23 +0200 Subject: [PATCH] [IMP] rma: Use _prepare_home_portal_values() function. --- rma/__manifest__.py | 2 +- rma/controllers/main.py | 20 ++++++++++++++------ rma/views/rma_portal_templates.xml | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/rma/__manifest__.py b/rma/__manifest__.py index 1b99d61e..a0e44aa1 100644 --- a/rma/__manifest__.py +++ b/rma/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Return Merchandise Authorization Management", "summary": "Return Merchandise Authorization (RMA)", - "version": "15.0.1.0.1", + "version": "15.0.1.1.0", "development_status": "Production/Stable", "category": "RMA", "website": "https://github.com/OCA/rma", diff --git a/rma/controllers/main.py b/rma/controllers/main.py index 07f98862..e87bd82e 100644 --- a/rma/controllers/main.py +++ b/rma/controllers/main.py @@ -1,4 +1,5 @@ # Copyright 2020 Tecnativa - Ernesto Tejeda +# Copyright 2022 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import _, exceptions, http @@ -10,12 +11,16 @@ from odoo.addons.portal.controllers.portal import CustomerPortal, pager as porta class PortalRma(CustomerPortal): - def _prepare_portal_layout_values(self): - values = super()._prepare_portal_layout_values() - if request.env["rma"].check_access_rights("read", raise_exception=False): - values["rma_count"] = request.env["rma"].search_count([]) - else: - values["rma_count"] = 0 + def _prepare_home_portal_values(self, counters): + values = super()._prepare_home_portal_values(counters) + if "rma_count" in counters: + rma_model = request.env["rma"] + rma_count = ( + rma_model.search_count([]) + if rma_model.check_access_rights("read", raise_exception=False) + else 0 + ) + values["rma_count"] = rma_count return values def _rma_get_page_view_values(self, rma, access_token, **kwargs): @@ -36,6 +41,9 @@ class PortalRma(CustomerPortal): def portal_my_rmas(self, page=1, date_begin=None, date_end=None, sortby=None, **kw): values = self._prepare_portal_layout_values() rma_obj = request.env["rma"] + # Avoid error if the user does not have access. + if not rma_obj.check_access_rights("read", raise_exception=False): + return request.redirect("/my") domain = self._get_filter_domain(kw) searchbar_sortings = { "date": {"label": _("Date"), "order": "date desc"}, diff --git a/rma/views/rma_portal_templates.xml b/rma/views/rma_portal_templates.xml index be57983b..7c56d942 100644 --- a/rma/views/rma_portal_templates.xml +++ b/rma/views/rma_portal_templates.xml @@ -31,7 +31,7 @@ RMA Orders - +