diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 2b547af83ca..fdb7961e094 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -154,6 +154,8 @@ class Lead(models.Model): compute="_compute_recurring_revenue_monthly") recurring_revenue_monthly_prorated = fields.Monetary('Prorated MRR', currency_field='company_currency', store=True, compute="_compute_recurring_revenue_monthly_prorated") + recurring_revenue_prorated = fields.Monetary('Prorated Recurring Revenues', currency_field='company_currency', + compute="_compute_recurring_revenue_prorated", store=True) company_currency = fields.Many2one("res.currency", string='Currency', compute="_compute_company_currency", compute_sudo=True) # Dates date_closed = fields.Datetime('Closed Date', readonly=True, copy=False) @@ -511,6 +513,11 @@ class Lead(models.Model): for lead in self: lead.recurring_revenue_monthly_prorated = (lead.recurring_revenue_monthly or 0.0) * (lead.probability or 0) / 100.0 + @api.depends('recurring_revenue', 'probability') + def _compute_recurring_revenue_prorated(self): + for lead in self: + lead.recurring_revenue_prorated = (lead.recurring_revenue or 0.0) * (lead.probability or 0) / 100.0 + def _compute_calendar_event_count(self): if self.ids: meeting_data = self.env['calendar.event'].sudo()._read_group([ diff --git a/addons/crm/static/src/views/forecast_kanban/forecast_kanban_model.js b/addons/crm/static/src/views/forecast_kanban/forecast_kanban_model.js index 99e84849cd0..338e84f35cc 100644 --- a/addons/crm/static/src/views/forecast_kanban/forecast_kanban_model.js +++ b/addons/crm/static/src/views/forecast_kanban/forecast_kanban_model.js @@ -1,8 +1,8 @@ /** @odoo-module **/ -import { KanbanModel } from "@web/views/kanban/kanban_model"; +import { CrmKanbanModel, CrmKanbanGroup } from "@crm/views/crm_kanban/crm_kanban_model"; -export class ForecastKanbanModel extends KanbanModel { +export class ForecastKanbanModel extends CrmKanbanModel { setup(params, { fillTemporalService }) { super.setup(...arguments); this.fillTemporalService = fillTemporalService; @@ -100,5 +100,6 @@ export class ForecastKanbanDynamicGroupList extends ForecastKanbanModel.DynamicG } } -ForecastKanbanModel.services = [...KanbanModel.services, "fillTemporalService"]; +ForecastKanbanModel.services = [...CrmKanbanModel.services, "fillTemporalService"]; ForecastKanbanModel.DynamicGroupList = ForecastKanbanDynamicGroupList; +ForecastKanbanModel.group = CrmKanbanGroup; diff --git a/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.js b/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.js index 08bd3b11f8b..9a710e3f02f 100644 --- a/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.js +++ b/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.js @@ -1,12 +1,12 @@ /** @odoo-module **/ +import { CrmKanbanRenderer } from "@crm/views/crm_kanban/crm_kanban_renderer"; import { sprintf } from "@web/core/utils/strings"; import { useService } from "@web/core/utils/hooks"; -import { KanbanRenderer } from "@web/views/kanban/kanban_renderer"; import { ForecastKanbanColumnQuickCreate } from "@crm/views/forecast_kanban/forecast_kanban_column_quick_create"; import { INTERVAL_OPTIONS } from "@web/search/utils/dates"; -export class ForecastKanbanRenderer extends KanbanRenderer { +export class ForecastKanbanRenderer extends CrmKanbanRenderer { setup() { super.setup(...arguments); this.fillTemporalService = useService("fillTemporalService"); @@ -51,6 +51,6 @@ export class ForecastKanbanRenderer extends KanbanRenderer { ForecastKanbanRenderer.template = "crm.ForecastKanbanRenderer"; ForecastKanbanRenderer.components = { - ...KanbanRenderer.components, + ...CrmKanbanRenderer.components, ForecastKanbanColumnQuickCreate, }; diff --git a/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.xml b/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.xml index 9403445ae9e..a5864f599ac 100644 --- a/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.xml +++ b/addons/crm/static/src/views/forecast_kanban/forecast_kanban_renderer.xml @@ -1,6 +1,6 @@ - + + - + @@ -625,9 +625,14 @@ + + + + prorated_revenue + recurring_revenue_monthly_prorated @@ -654,7 +659,7 @@ + - +