[IMP] website_crm: add 'Default Sales Team' and 'Default Salesperson'

To leads created from the 'contact_us' form from the website.
This commit is contained in:
Mansi Gandhi
2016-10-25 13:56:00 +02:00
committed by Yannick Tivisse
parent 500b73323d
commit ba6a5ddc8d
6 changed files with 74 additions and 8 deletions
+2 -2
View File
@@ -13,8 +13,8 @@
</header>
<div>
<field name="website_id" invisible="1"/>
<group string="Domain">
<field name="website_name" />
<group name="google_analytics" string="Domain">
<field name="website_name"/>
<label for="google_analytics_key"/>
<div name="google_analytics_key">
<div>
+1
View File
@@ -13,6 +13,7 @@ Odoo Contact Form
'data': [
'data/website_crm_data.xml',
'views/website_crm_templates.xml',
'views/website_crm_config_settings_views.xml',
],
'qweb': ['static/src/xml/*.xml'],
'installable': True,
+1
View File
@@ -2,3 +2,4 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import crm_lead
import website_crm_config_settings
+27 -6
View File
@@ -1,16 +1,37 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models
from odoo import fields, models
class Lead(models.Model):
_inherit = 'crm.lead'
def website_form_input_filter(self, request, values):
values['medium_id'] = (
values.get('medium_id') or
self.default_get(['medium_id']).get('medium_id') or
self.sudo().env['ir.model.data'].xmlid_to_res_id('utm.utm_medium_website')
)
values['medium_id'] = values.get('medium_id') or \
self.default_get(['medium_id']).get('medium_id') or \
self.sudo().env.ref('utm.utm_medium_website').id
values['team_id'] = values.get('team_id') or \
request.website.crm_default_team_id.id
values['user_id'] = values.get('user_id') or \
request.website.crm_default_user_id.id
return values
class Website(models.Model):
_inherit = 'website'
def _get_crm_default_team_domain(self):
if self.env.user.has_group('crm.group_use_lead'):
return [('use_leads', '=', True)]
else:
return [('use_opportunities', '=', True)]
crm_default_team_id = fields.Many2one(
'crm.team', string='Default Sales Team',
default=lambda self: self.env['crm.team'].search([], limit=1),
domain=lambda self: self._get_crm_default_team_domain(),
help='Default sales team for new leads created through the Contact Us form.')
crm_default_user_id = fields.Many2one(
'res.users', string='Default Salesperson', domain=[('share', '=', False)],
help='Default salesperson for new leads created through the Contact Us form.')
@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class WebsiteCrmConfigSettings(models.TransientModel):
_inherit = 'website.config.settings'
def _get_crm_default_team_domain(self):
if self.env.user.has_group('crm.group_use_lead'):
return [('use_leads', '=', True)]
else:
return [('use_opportunities', '=', True)]
crm_default_team_id = fields.Many2one(
'crm.team', string='Default Sales Team', related='website_id.crm_default_team_id',
domain=lambda self: self._get_crm_default_team_domain(),
help='Default sales team for new leads created through the Contact Us form.')
crm_default_user_id = fields.Many2one(
'res.users', string='Default Salesperson', related='website_id.crm_default_user_id', domain=[('share', '=', False)],
help='Default salesperson for new leads created through the Contact Us form.')
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_website_config_settings_form_inherit_website_crm" model="ir.ui.view">
<field name="name">website.config.settings.form.inherit</field>
<field name="model">website.config.settings</field>
<field name="inherit_id" ref="website.view_website_config_settings"/>
<field name="arch" type="xml">
<group name="google_analytics" position="after">
<group string="CRM" groups="base.group_no_one">
<label string="Default Sales Team" for="crm_default_team_id"/>
<div class="oe_inline">
<field name="crm_default_team_id"/>
</div>
<label string="Default Salesperson" for="crm_default_user_id"/>
<div class="oe_inline">
<field name="crm_default_user_id"/>
</div>
</group>
</group>
</field>
</record>
</odoo>