From 4f9e4283d495b0e8f5719b0de657c3ac6c541bae Mon Sep 17 00:00:00 2001 From: Mitali Patel Date: Wed, 16 May 2018 12:02:14 +0530 Subject: [PATCH] [IMP] website_sale: implement digest KPIs / tips Purpose of this commit is send ecommerce sales details KPIs in digest email. Those are added in the default digest template. This commit is linked to task ID 30655 and PR #18318. --- addons/website_sale/__manifest__.py | 4 ++- addons/website_sale/data/digest_data.xml | 8 ++++++ addons/website_sale/models/__init__.py | 1 + addons/website_sale/models/digest.py | 31 ++++++++++++++++++++++ addons/website_sale/views/digest_views.xml | 17 ++++++++++++ 5 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 addons/website_sale/data/digest_data.xml create mode 100644 addons/website_sale/models/digest.py create mode 100644 addons/website_sale/views/digest_views.xml diff --git a/addons/website_sale/__manifest__.py b/addons/website_sale/__manifest__.py index 034c85ddb14..dd68c7046d5 100644 --- a/addons/website_sale/__manifest__.py +++ b/addons/website_sale/__manifest__.py @@ -6,12 +6,13 @@ 'website': 'https://www.odoo.com/page/e-commerce', 'version': '1.0', 'description': "", - 'depends': ['website', 'sale_payment', 'website_payment', 'website_mail', 'website_form', 'website_rating'], + 'depends': ['website', 'sale_payment', 'website_payment', 'website_mail', 'website_form', 'website_rating', 'digest'], 'data': [ 'security/ir.model.access.csv', 'security/website_sale.xml', 'data/data.xml', 'data/mail_template_data.xml', + 'data/digest_data.xml', 'views/product_views.xml', 'views/account_views.xml', 'views/sale_report_views.xml', @@ -20,6 +21,7 @@ 'views/templates.xml', 'views/snippets.xml', 'views/res_config_settings_views.xml', + 'views/digest_views.xml', ], 'demo': [ 'data/demo.xml', diff --git a/addons/website_sale/data/digest_data.xml b/addons/website_sale/data/digest_data.xml new file mode 100644 index 00000000000..0f9739fd4cf --- /dev/null +++ b/addons/website_sale/data/digest_data.xml @@ -0,0 +1,8 @@ + + + + + True + + + diff --git a/addons/website_sale/models/__init__.py b/addons/website_sale/models/__init__.py index f2bc8685f6f..2ed1e1dbe42 100644 --- a/addons/website_sale/models/__init__.py +++ b/addons/website_sale/models/__init__.py @@ -11,3 +11,4 @@ from . import payment from . import sale_order from . import website from . import res_config_settings +from . import digest diff --git a/addons/website_sale/models/digest.py b/addons/website_sale/models/digest.py new file mode 100644 index 00000000000..70ae0b9bfb4 --- /dev/null +++ b/addons/website_sale/models/digest.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, _ +from odoo.exceptions import AccessError + + +class Digest(models.Model): + _inherit = 'digest.digest' + + kpi_website_sale_total = fields.Boolean('eCommerce Sales') + kpi_website_sale_total_value = fields.Monetary(compute='_compute_kpi_website_sale_total_value') + + def _compute_kpi_website_sale_total_value(self): + if not self.env.user.has_group('sales_team.group_sale_salesman_all_leads'): + raise AccessError(_("Do not have access, skip this data for user's digest email")) + for record in self: + start, end, company = record._get_kpi_compute_parameters() + confirmed_website_sales = self.env['sale.order'].search([ + ('confirmation_date', '>=', start), + ('confirmation_date', '<', end), + ('state', 'not in', ['draft', 'cancel', 'sent']), + ('team_id.team_type', '=', 'website'), + ('company_id', '=', company.id) + ]) + record.kpi_website_sale_total_value = sum(confirmed_website_sales.mapped('amount_total')) + + def compute_kpis_actions(self, company, user): + res = super(Digest, self).compute_kpis_actions(company, user) + res['kpi_website_sale_total'] = 'website.backend_dashboard&menu_id=%s' % self.env.ref('website.menu_website_configuration').id + return res diff --git a/addons/website_sale/views/digest_views.xml b/addons/website_sale/views/digest_views.xml new file mode 100644 index 00000000000..08399e346dd --- /dev/null +++ b/addons/website_sale/views/digest_views.xml @@ -0,0 +1,17 @@ + + + + digest.digest.view.form.inherit.website.sale.order + digest.digest + + + + Sales + sales_team.group_sale_salesman_all_leads + + + + + + +