[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:
committed by
Yannick Tivisse
parent
500b73323d
commit
ba6a5ddc8d
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -2,3 +2,4 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import crm_lead
|
||||
import website_crm_config_settings
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user