mirror of
https://github.com/bringout/oca-ocb-crm.git
synced 2026-04-25 06:12:04 +02:00
Initial commit: Crm packages
This commit is contained in:
commit
21a345b5b9
654 changed files with 418312 additions and 0 deletions
33
odoo-bringout-oca-ocb-crm/crm/models/crm_lost_reason.py
Normal file
33
odoo-bringout-oca-ocb-crm/crm/models/crm_lost_reason.py
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models, _
|
||||
|
||||
|
||||
class LostReason(models.Model):
|
||||
_name = "crm.lost.reason"
|
||||
_description = 'Opp. Lost Reason'
|
||||
|
||||
name = fields.Char('Description', required=True, translate=True)
|
||||
active = fields.Boolean('Active', default=True)
|
||||
leads_count = fields.Integer('Leads Count', compute='_compute_leads_count')
|
||||
|
||||
def _compute_leads_count(self):
|
||||
lead_data = self.env['crm.lead'].with_context(active_test=False)._read_group(
|
||||
[('lost_reason_id', 'in', self.ids)],
|
||||
['lost_reason_id'],
|
||||
['lost_reason_id']
|
||||
)
|
||||
mapped_data = dict((data['lost_reason_id'][0], data['lost_reason_id_count']) for data in lead_data)
|
||||
for reason in self:
|
||||
reason.leads_count = mapped_data.get(reason.id, 0)
|
||||
|
||||
def action_lost_leads(self):
|
||||
return {
|
||||
'name': _('Leads'),
|
||||
'view_mode': 'tree,form',
|
||||
'domain': [('lost_reason_id', 'in', self.ids)],
|
||||
'res_model': 'crm.lead',
|
||||
'type': 'ir.actions.act_window',
|
||||
'context': {'create': False, 'active_test': False},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue