From 6a53ce7612959bd93f0a4ff7c27a8812e916fd16 Mon Sep 17 00:00:00 2001 From: Davit Lomauridze Date: Wed, 22 May 2024 12:02:48 +0400 Subject: [PATCH] [FIX]document_page_portal: added method to a controller --- document_page_portal/controllers/portal.py | 37 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/document_page_portal/controllers/portal.py b/document_page_portal/controllers/portal.py index a6c01711..f15ce134 100644 --- a/document_page_portal/controllers/portal.py +++ b/document_page_portal/controllers/portal.py @@ -1,8 +1,7 @@ # Copyright (C) 2020 - TODAY, Marcel Savegnago - Escodoo). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import http +from odoo import fields as odoo_fields, http from odoo.exceptions import AccessError, MissingError from odoo.http import request from odoo.osv.expression import OR @@ -19,6 +18,40 @@ class CustomerPortal(CustomerPortal): ) return values + def _get_archive_groups( + self, + model, + domain=None, + fields=None, + groupby="create_date", + order="create_date desc", + ): + if not model: + return [] + if domain is None: + domain = [] + if fields is None: + fields = ["name", "create_date"] + groups = [] + for group in request.env[model]._read_group_raw( + domain, fields=fields, groupby=groupby, orderby=order + ): + dates, label = group[groupby] + date_begin, date_end = dates.split("/") + groups.append( + { + "date_begin": odoo_fields.Date.to_string( + odoo_fields.Date.from_string(date_begin) + ), + "date_end": odoo_fields.Date.to_string( + odoo_fields.Date.from_string(date_end) + ), + "name": label, + "item_count": group[groupby + "_count"], + } + ) + return groups + def _document_page_get_page_view_values( self, document_page, access_token, **kwargs ):