[IMP] crm: lint data and menu entries

PURPOSE

Prepare enhancements of sales team membership.

SPECIFICATIONS

Lint crm data and demo, notably about sales team and file organization.
Also move crm menu entries declaration in a single file and remove some
menu entries not imported anymore.

LINKS

Task ID 2086889 (sales team enhancements)
Task ID 2234698 (preparation lint)
Community PR odoo/odoo#49520
This commit is contained in:
Thibault Delavallée
2020-04-14 11:52:46 +00:00
parent c54126aee5
commit bc86d8c57d
18 changed files with 207 additions and 216 deletions
+13 -11
View File
@@ -26,33 +26,35 @@
'security/crm_security.xml',
'security/ir.model.access.csv',
'data/crm_data.xml',
'data/crm_stage_data.xml',
'data/crm_lead_data.xml',
'data/digest_data.xml',
'data/crm_lead_prediction_data.xml',
'data/crm_lost_reason_data.xml',
'data/crm_stage_data.xml',
'data/crm_team_data.xml',
'data/digest_data.xml',
'data/mail_data.xml',
'wizard/crm_lead_lost_views.xml',
'wizard/crm_lead_to_opportunity_views.xml',
'wizard/crm_lead_to_opportunity_mass_views.xml',
'wizard/crm_merge_opportunities_views.xml',
'views/crm_templates.xml',
'views/res_config_settings_views.xml',
'views/crm_views.xml',
'views/assets.xml',
'views/calendar_views.xml',
'views/crm_menu_views.xml',
'views/crm_lost_reason_views.xml',
'views/crm_stage_views.xml',
'views/crm_lead_views.xml',
'views/calendar_views.xml',
'views/digest_views.xml',
'views/mail_activity_views.xml',
'views/res_config_settings_views.xml',
'views/res_partner_views.xml',
'views/utm_campaign_views.xml',
'report/crm_activity_report_views.xml',
'report/crm_opportunity_report_views.xml',
'views/crm_team_views.xml',
'views/digest_views.xml',
'views/utm_campaign_views.xml'
],
'demo': [
'data/crm_demo.xml',
'data/crm_team_demo.xml',
'data/mail_activity_demo.xml',
'data/crm_lead_demo.xml',
],
-35
View File
@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="sales_team.salesteam_website_sales" model="crm.team" forcecreate="False">
<field name="use_opportunities" eval="False"/>
</record>
<record id="sales_team.pos_sales_team" model="crm.team" forcecreate="False">
<field name="use_opportunities" eval="False"/>
</record>
<record id="sales_team.ebay_sales_team" model="crm.team" forcecreate="False">
<field name="use_opportunities" eval="False"/>
</record>
<!--default alias for leads-->
<record id="mail_alias_lead_info" model="mail.alias">
<field name="alias_name"></field>
<field name="alias_model_id" ref="model_crm_lead"/>
<field name="alias_user_id" ref="base.user_admin"/>
<field name="alias_parent_model_id" ref="model_crm_team"/>
</record>
<!-- opportunities' lost causes -->
<record id="lost_reason_1" model="crm.lost.reason">
<field name="name">Too expensive</field>
</record>
<record id="lost_reason_2" model="crm.lost.reason">
<field name="name">We don't have people/skills</field>
</record>
<record id="lost_reason_3" model="crm.lost.reason">
<field name="name">Not enough stock</field>
</record>
</data>
</odoo>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo><data noupdate="1">
<!-- opportunities' lost causes -->
<record id="lost_reason_1" model="crm.lost.reason">
<field name="name">Too expensive</field>
</record>
<record id="lost_reason_2" model="crm.lost.reason">
<field name="name">We don't have people/skills</field>
</record>
<record id="lost_reason_3" model="crm.lost.reason">
<field name="name">Not enough stock</field>
</record>
</data></odoo>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo><data noupdate="1">
<record id="sales_team.salesteam_website_sales" model="crm.team" forcecreate="False">
<field name="use_opportunities" eval="False"/>
</record>
<record id="sales_team.pos_sales_team" model="crm.team" forcecreate="False">
<field name="use_opportunities" eval="False"/>
</record>
<record id="sales_team.ebay_sales_team" model="crm.team" forcecreate="False">
<field name="use_opportunities" eval="False"/>
</record>
</data></odoo>
@@ -1,14 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(4,ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="sales_team.team_sales_department" model="crm.team" forcecreate="False">
<field name="alias_name">sales</field>
<field name="alias_user_id" ref="base.user_admin"/>
<field name="company_id" eval="False"/>
</record>
<record id="sales_team.crm_team_1" model="crm.team">
@@ -1,6 +1,13 @@
<?xml version="1.0"?>
<odoo>
<data noupdate="1">
<!--default alias for leads-->
<record id="mail_alias_lead_info" model="mail.alias">
<field name="alias_name"></field>
<field name="alias_model_id" ref="model_crm_lead"/>
<field name="alias_user_id" ref="base.user_admin"/>
<field name="alias_parent_model_id" ref="model_crm_team"/>
</record>
<!-- CRM-related subtypes for messaging / Chatter -->
<record id="mt_lead_create" model="mail.message.subtype">
+5 -2
View File
@@ -15,7 +15,9 @@ class Team(models.Model):
use_leads = fields.Boolean('Leads', help="Check this box to filter and qualify incoming requests as leads before converting them into opportunities and assigning them to a salesperson.")
use_opportunities = fields.Boolean('Pipeline', default=True, help="Check this box to manage a presales process with opportunities.")
alias_id = fields.Many2one('mail.alias', string='Alias', ondelete="restrict", required=True, help="The email address associated with this channel. New emails received will automatically create new leads assigned to the channel.")
alias_id = fields.Many2one(
'mail.alias', string='Alias', ondelete="restrict", required=True,
help="The email address associated with this channel. New emails received will automatically create new leads assigned to the channel.")
# statistics about leads / opportunities / both
lead_unassigned_count = fields.Integer(
string='# Unassigned Leads', compute='_compute_lead_unassigned_count')
@@ -118,6 +120,7 @@ class Team(models.Model):
if not use_leads and not use_opportunities:
return {'alias_name': False}
return {}
# ------------------------------------------------------------
# MESSAGING
# ------------------------------------------------------------
@@ -162,7 +165,7 @@ class Team(models.Model):
return action
def _compute_dashboard_button_name(self):
super(Team,self)._compute_dashboard_button_name()
super(Team, self)._compute_dashboard_button_name()
team_with_pipelines = self.filtered(lambda el: el.use_opportunities)
team_with_pipelines.update({'dashboard_button_name': _("Pipeline")})
@@ -123,11 +123,9 @@
teams of the sales pipeline.</field>
</record>
<menuitem id="crm_opportunity_report_menu"
name="Pipeline"
parent="crm_menu_report"
action="crm_opportunity_report_action"
sequence="2"/>
<record id="crm_opportunity_report_menu" model="ir.ui.menu">
<field name="action" ref="crm.crm_opportunity_report_action"/>
</record>
<record id="crm_opportunity_report_action_lead" model="ir.actions.act_window">
<field name="name">Leads Analysis</field>
@@ -142,12 +140,8 @@
<field name="help">This report analyses the source of your leads.</field>
</record>
<menuitem
id="crm_opportunity_report_menu_lead"
name="Leads"
parent="crm_menu_report"
action="crm_opportunity_report_action_lead"
groups="crm.group_use_lead"
sequence="1"/>
<record id="crm_opportunity_report_menu_lead" model="ir.ui.menu">
<field name="action" ref="crm.crm_opportunity_report_action_lead"/>
</record>
</odoo>
-5
View File
@@ -1,11 +1,6 @@
<?xml version="1.0"?>
<odoo>
<menuitem
id="menu_import_crm"
name="Import &amp; Synchronize"
parent="crm_menu_root"/>
<record id="view_crm_meeting_search" model="ir.ui.view">
<field name="name">calendar.event.form.inherit</field>
<field name="model">calendar.event</field>
+9 -46
View File
@@ -767,28 +767,6 @@ if record:
</field>
</record>
<!--
Menu Actions
-->
<menuitem
id="crm_menu_sales"
name="Sales"
parent="crm_menu_root"
sequence="1"/>
<menuitem id="sales_team_menu_team_pipeline"
name="Team Pipelines"
parent="crm_menu_sales"
action="sales_team.crm_team_salesteams_pipelines_act"
groups="sales_team.group_sale_manager"
sequence="4"/>
<menuitem id="res_partner_menu_customer"
name="Customers"
parent="crm_menu_sales"
action="base.action_partner_form"
sequence="5"/>
<!-- Lead Menu -->
<record model="ir.actions.act_window" id="crm_lead_all_leads">
<field name="name">Leads</field>
@@ -839,12 +817,9 @@ if record:
<field name="act_window_id" ref="crm_lead_all_leads"/>
</record>
<menuitem id="crm_menu_leads"
name="Leads"
parent="crm_menu_root"
groups="crm.group_use_lead"
action="crm_lead_all_leads"
sequence="5"/>
<record id="crm_menu_leads" model="ir.ui.menu">
<field name="action" ref="crm.crm_lead_all_leads"/>
</record>
<!-- 'My Pipeline' menu : Server action, act_window_views and act_windows -->
<record model="ir.actions.act_window" id="crm_lead_opportunities">
@@ -948,22 +923,10 @@ if record:
<field name="act_window_id" ref="crm_lead_action_pipeline"/>
</record>
<menuitem
id="menu_crm_opportunities"
action="action_your_pipeline"
name="My Pipeline"
parent="crm_menu_sales"
sequence="1"/>
<menuitem
id="crm.crm_menu_root"
name="CRM"
action="action_your_pipeline"/>
<menuitem
id="menu_crm_lead_categ"
name="Tags"
action="sales_team.sales_team_crm_tag_action"
parent="menu_crm_config_lead"
sequence="1"/>
<record id="menu_crm_opportunities" model="ir.ui.menu">
<field name="action" ref="crm.action_your_pipeline"/>
</record>
<record id="crm_menu_root" model="ir.ui.menu">
<field name="action" ref="crm.action_your_pipeline"/>
</record>
</odoo>
+3 -5
View File
@@ -69,9 +69,7 @@
</field>
</record>
<menuitem
id="menu_crm_lost_reason"
action="crm_lost_reason_action"
parent="menu_crm_config_lead"
sequence="6"/>
<record id="menu_crm_lost_reason" model="ir.ui.menu">
<field name="action" ref="crm.crm_lost_reason_action"/>
</record>
</odoo>
+122 -22
View File
@@ -1,26 +1,126 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem
id="crm_menu_sales"
name="Sales"
parent="crm_menu_root"
sequence="1"/>
<menuitem id="sales_team_menu_team_pipeline"
name="Team Pipelines"
parent="crm_menu_sales"
action="crm_team_salesteams_pipelines_act"
sequence="4"/>
<!-- Top menu item -->
<!--
This menu item's purpose is to overwrite another one defined in
the base module in order to set new groups.
-->
<menuitem
id="crm_menu_root"
name="CRM"
web_icon="crm,static/description/icon.png"
groups="sales_team.group_sale_salesman,sales_team.group_sale_manager"
sequence="6"/>
<menuitem id="res_partner_menu_customer"
name="Customers"
parent="crm_menu_sales"
action="base.action_partner_form"
sequence="5"/>
<!-- SALES (MAIN USER MENU) -->
<menuitem
id="crm_menu_sales"
name="Sales"
parent="crm_menu_root"
sequence="1"/>
<menuitem
id="menu_crm_opportunities"
name="My Pipeline"
parent="crm_menu_sales"
sequence="1"/>
<menuitem
id="sales_team_menu_team_pipeline"
name="Team Pipelines"
parent="crm_menu_sales"
action="sales_team.crm_team_salesteams_pipelines_act"
groups="sales_team.group_sale_manager"
sequence="4"/>
<menuitem
id="res_partner_menu_customer"
name="Customers"
parent="crm_menu_sales"
action="base.action_partner_form"
sequence="5"/>
<menuitem id="crm_menu_leads"
name="Leads"
parent="crm_menu_root"
groups="crm.group_use_lead"
sequence="5"/>
</odoo>
<!-- LEADS (MAIN USER MENU) -->
<menuitem
id="crm_menu_leads"
name="Leads"
parent="crm_menu_root"
groups="crm.group_use_lead"
sequence="5"/>
<!-- REPORTING -->
<menuitem
id="crm_menu_report"
name="Reporting"
parent="crm_menu_root"
sequence="20"
groups="sales_team.group_sale_manager"/>
<menuitem
id="crm_opportunity_report_menu_lead"
name="Leads"
parent="crm_menu_report"
groups="crm.group_use_lead"
sequence="1"/>
<menuitem
id="crm_opportunity_report_menu"
name="Pipeline"
parent="crm_menu_report"
sequence="2"/>
<!-- CONFIGURATION -->
<menuitem
id="crm_menu_config"
name="Configuration"
parent="crm_menu_root"
sequence="25" groups="sales_team.group_sale_manager"/>
<menuitem
id="crm_config_settings_menu"
name="Settings"
parent="crm_menu_config"
groups="base.group_system"
sequence="0"/>
<menuitem
id="menu_crm_config_opportunity"
name="Opportunities"
parent="crm_menu_config"
sequence="1"
groups="sales_team.group_sale_manager"/>
<menuitem
id="crm_team_config"
name="Sales Teams"
parent="crm_menu_config"
action="sales_team.sales_team_config_action"
sequence="5"/>
<menuitem
id="crm_team_menu_config_activity_types"
name="Activity Types"
parent="crm_menu_config"
action="sales_team.mail_activity_type_action_config_sales"
sequence="10"/>
<menuitem
id="menu_crm_config_lead"
name="Pipeline"
parent="crm_menu_config"
sequence="15"
groups="sales_team.group_sale_manager"/>
<menuitem
id="menu_crm_lead_stage_act"
name="Stages"
sequence="0"
parent="menu_crm_config_lead"
groups="base.group_no_one"/>
<menuitem
id="menu_crm_lead_categ"
name="Tags"
action="sales_team.sales_team_crm_tag_action"
parent="menu_crm_config_lead"
sequence="1"/>
<menuitem
id="menu_crm_lost_reason"
name="Lost Reasons"
parent="menu_crm_config_lead"
sequence="6"/>
<menuitem
id="menu_import_crm"
name="Import &amp; Synchronize"
parent="crm_menu_root"/>
</odoo>
+3 -7
View File
@@ -71,12 +71,8 @@
</field>
</record>
<menuitem
id="menu_crm_lead_stage_act"
name="Stages"
sequence="0"
action="crm_stage_action"
parent="menu_crm_config_lead"
groups="base.group_no_one"/>
<record id="menu_crm_lead_stage_act" model="ir.ui.menu">
<field name="action" ref="crm.crm_stage_action"/>
</record>
</odoo>
-5
View File
@@ -268,9 +268,4 @@
</field>
</record>
<record id="sales_team.mail_activity_type_action_config_sales" model="ir.actions.act_window">
<field name="domain">['|', ('res_model_id', '=', False), ('res_model_id.model', 'in', ['crm.lead', 'res.partner'])]</field>
<field name="context">{'default_res_model': 'crm.lead'}</field>
</record>
</odoo>
-61
View File
@@ -1,61 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Top menu item -->
<!--
This menu item's purpose is to overwrite another one defined in
the base module in order to set new groups.
-->
<menuitem
id="crm_menu_root"
name="CRM"
web_icon="crm,static/description/icon.png"
groups="sales_team.group_sale_salesman,sales_team.group_sale_manager"
sequence="6"/>
<menuitem
id="crm_menu_config"
name="Configuration"
parent="crm_menu_root"
sequence="25" groups="sales_team.group_sale_manager"/>
<menuitem
id="menu_crm_config_lead"
name="Pipeline"
parent="crm_menu_config"
sequence="15"
groups="sales_team.group_sale_manager"/>
<menuitem
id="menu_crm_config_opportunity"
name="Opportunities"
parent="crm_menu_config"
sequence="1"
groups="sales_team.group_sale_manager"/>
<menuitem id="crm_config_settings_menu"
name="Settings"
parent="crm_menu_config"
action="crm_config_settings_action"
groups="base.group_system"
sequence="0"/>
<menuitem id="crm_menu_report"
name="Reporting"
parent="crm_menu_root"
sequence="20"
groups="sales_team.group_sale_manager"/>
<menuitem id="crm_team_config"
name="Sales Teams"
parent="crm_menu_config"
action="sales_team.sales_team_config_action"
sequence="5"/>
<menuitem id="crm_team_menu_config_activity_types"
name="Activity Types"
parent="crm_menu_config"
action="sales_team.mail_activity_type_action_config_sales"
sequence="10"/>
</odoo>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="sales_team.mail_activity_type_action_config_sales" model="ir.actions.act_window">
<field name="domain">['|', ('res_model_id', '=', False), ('res_model_id.model', 'in', ['crm.lead', 'res.partner'])]</field>
<field name="context">{'default_res_model': 'crm.lead'}</field>
</record>
</odoo>
@@ -133,4 +133,9 @@
<field name="target">inline</field>
<field name="context">{'module' : 'crm'}</field>
</record>
<record id="crm_config_settings_menu" model="ir.ui.menu">
<field name="action" ref="crm.crm_config_settings_action"/>
</record>
</odoo>