Purpose ======= Change the logic of the KPI "Day-1" to "Last 24 hours", so new freshly created data in the free trial are included in the statistics (same for last week and last month logic). This requires to change from date-based computation to datetime-based. Change the URL of the "connect" button from "/web/login" to the root URL (so the user is not stuck if he didn't activate yet his database). Task ID-2359406 closes odoo/odoo#60166 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
34 lines
1.5 KiB
Python
34 lines
1.5 KiB
Python
# -*- 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_account_total_revenue = fields.Boolean('Revenue')
|
|
kpi_account_total_revenue_value = fields.Monetary(compute='_compute_kpi_account_total_revenue_value')
|
|
|
|
def _compute_kpi_account_total_revenue_value(self):
|
|
if not self.env.user.has_group('account.group_account_invoice'):
|
|
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()
|
|
self._cr.execute('''
|
|
SELECT SUM(line.debit)
|
|
FROM account_move_line line
|
|
JOIN account_move move ON move.id = line.move_id
|
|
JOIN account_journal journal ON journal.id = move.journal_id
|
|
WHERE line.company_id = %s AND line.date > %s::DATE AND line.date <= %s::DATE
|
|
AND journal.type = 'sale'
|
|
''', [company.id, start, end])
|
|
query_res = self._cr.fetchone()
|
|
record.kpi_account_total_revenue_value = query_res and query_res[0] or 0.0
|
|
|
|
def _compute_kpis_actions(self, company, user):
|
|
res = super(Digest, self)._compute_kpis_actions(company, user)
|
|
res['kpi_account_total_revenue'] = 'account.action_move_out_invoice_type&menu_id=%s' % self.env.ref('account.menu_finance').id
|
|
return res
|