diff options
| author | Thibault Delavallée <tde@odoo.com> | 2020-04-06 08:19:53 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-04-14 11:52:46 +0000 |
| commit | bc86d8c57da74ec9abe21091953e5e8e279e4b2c (patch) | |
| tree | 8fda9fa8cddd0e0f0085e8e1baf9feea31dd250b /addons | |
| parent | c54126aee596e82fe003573f49b1438332c99b9b (diff) | |
[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
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/crm/__manifest__.py | 22 | ||||
| -rw-r--r-- | addons/crm/data/crm_data.xml | 35 | ||||
| -rw-r--r-- | addons/crm/data/crm_lost_reason_data.xml | 13 | ||||
| -rw-r--r-- | addons/crm/data/crm_team_data.xml | 14 | ||||
| -rw-r--r-- | addons/crm/data/crm_team_demo.xml (renamed from addons/crm/data/crm_demo.xml) | 5 | ||||
| -rw-r--r-- | addons/crm/data/mail_data.xml (renamed from addons/crm/data/crm_lead_data.xml) | 7 | ||||
| -rw-r--r-- | addons/crm/models/crm_team.py | 7 | ||||
| -rw-r--r-- | addons/crm/report/crm_opportunity_report_views.xml | 18 | ||||
| -rw-r--r-- | addons/crm/views/assets.xml (renamed from addons/crm/views/crm_templates.xml) | 0 | ||||
| -rw-r--r-- | addons/crm/views/calendar_views.xml | 5 | ||||
| -rw-r--r-- | addons/crm/views/crm_lead_views.xml | 55 | ||||
| -rw-r--r-- | addons/crm/views/crm_lost_reason_views.xml | 8 | ||||
| -rw-r--r-- | addons/crm/views/crm_menu_views.xml | 144 | ||||
| -rw-r--r-- | addons/crm/views/crm_stage_views.xml | 10 | ||||
| -rw-r--r-- | addons/crm/views/crm_team_views.xml | 5 | ||||
| -rw-r--r-- | addons/crm/views/crm_views.xml | 61 | ||||
| -rw-r--r-- | addons/crm/views/mail_activity_views.xml | 7 | ||||
| -rw-r--r-- | addons/crm/views/res_config_settings_views.xml | 5 |
18 files changed, 206 insertions, 215 deletions
diff --git a/addons/crm/__manifest__.py b/addons/crm/__manifest__.py index 8c7a6a892f5..839a1e70ef3 100644 --- a/addons/crm/__manifest__.py +++ b/addons/crm/__manifest__.py @@ -26,33 +26,35 @@ 'security/crm_security.xml', 'security/ir.model.access.csv', - 'data/crm_data.xml', + 'data/crm_lead_prediction_data.xml', + 'data/crm_lost_reason_data.xml', 'data/crm_stage_data.xml', - 'data/crm_lead_data.xml', + 'data/crm_team_data.xml', 'data/digest_data.xml', - 'data/crm_lead_prediction_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', ], diff --git a/addons/crm/data/crm_data.xml b/addons/crm/data/crm_data.xml deleted file mode 100644 index 0ee888fea90..00000000000 --- a/addons/crm/data/crm_data.xml +++ /dev/null @@ -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> diff --git a/addons/crm/data/crm_lost_reason_data.xml b/addons/crm/data/crm_lost_reason_data.xml new file mode 100644 index 00000000000..a13a1d77b34 --- /dev/null +++ b/addons/crm/data/crm_lost_reason_data.xml @@ -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> diff --git a/addons/crm/data/crm_team_data.xml b/addons/crm/data/crm_team_data.xml new file mode 100644 index 00000000000..016777ce78f --- /dev/null +++ b/addons/crm/data/crm_team_data.xml @@ -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> diff --git a/addons/crm/data/crm_demo.xml b/addons/crm/data/crm_team_demo.xml index f5f0ed06bed..f04c60baa30 100644 --- a/addons/crm/data/crm_demo.xml +++ b/addons/crm/data/crm_team_demo.xml @@ -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"> diff --git a/addons/crm/data/crm_lead_data.xml b/addons/crm/data/mail_data.xml index 52f7575aa79..28253e529b5 100644 --- a/addons/crm/data/crm_lead_data.xml +++ b/addons/crm/data/mail_data.xml @@ -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"> diff --git a/addons/crm/models/crm_team.py b/addons/crm/models/crm_team.py index 25b1965de97..9161c69116c 100644 --- a/addons/crm/models/crm_team.py +++ b/addons/crm/models/crm_team.py @@ -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")}) diff --git a/addons/crm/report/crm_opportunity_report_views.xml b/addons/crm/report/crm_opportunity_report_views.xml index cf6eec4bfc7..1d6972d0aaf 100644 --- a/addons/crm/report/crm_opportunity_report_views.xml +++ b/addons/crm/report/crm_opportunity_report_views.xml @@ -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> diff --git a/addons/crm/views/crm_templates.xml b/addons/crm/views/assets.xml index 5e601559a8e..5e601559a8e 100644 --- a/addons/crm/views/crm_templates.xml +++ b/addons/crm/views/assets.xml diff --git a/addons/crm/views/calendar_views.xml b/addons/crm/views/calendar_views.xml index b82569b1845..8267a60558d 100644 --- a/addons/crm/views/calendar_views.xml +++ b/addons/crm/views/calendar_views.xml @@ -1,11 +1,6 @@ <?xml version="1.0"?> <odoo> - <menuitem - id="menu_import_crm" - name="Import & 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> diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml index b7d86291efb..5edbfb84020 100644 --- a/addons/crm/views/crm_lead_views.xml +++ b/addons/crm/views/crm_lead_views.xml @@ -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> diff --git a/addons/crm/views/crm_lost_reason_views.xml b/addons/crm/views/crm_lost_reason_views.xml index 7f65379bcc0..33986e14da8 100644 --- a/addons/crm/views/crm_lost_reason_views.xml +++ b/addons/crm/views/crm_lost_reason_views.xml @@ -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> diff --git a/addons/crm/views/crm_menu_views.xml b/addons/crm/views/crm_menu_views.xml index cbcfe85b201..e679fb8f122 100644 --- a/addons/crm/views/crm_menu_views.xml +++ b/addons/crm/views/crm_menu_views.xml @@ -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>
\ No newline at end of file + <!-- 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 & Synchronize" + parent="crm_menu_root"/> +</odoo> diff --git a/addons/crm/views/crm_stage_views.xml b/addons/crm/views/crm_stage_views.xml index 95e2a321990..2dc3a4c7c10 100644 --- a/addons/crm/views/crm_stage_views.xml +++ b/addons/crm/views/crm_stage_views.xml @@ -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> diff --git a/addons/crm/views/crm_team_views.xml b/addons/crm/views/crm_team_views.xml index 90301bc7385..a1981660cc3 100644 --- a/addons/crm/views/crm_team_views.xml +++ b/addons/crm/views/crm_team_views.xml @@ -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> diff --git a/addons/crm/views/crm_views.xml b/addons/crm/views/crm_views.xml deleted file mode 100644 index 59a07dfb804..00000000000 --- a/addons/crm/views/crm_views.xml +++ /dev/null @@ -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> diff --git a/addons/crm/views/mail_activity_views.xml b/addons/crm/views/mail_activity_views.xml new file mode 100644 index 00000000000..6b489ee8807 --- /dev/null +++ b/addons/crm/views/mail_activity_views.xml @@ -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> diff --git a/addons/crm/views/res_config_settings_views.xml b/addons/crm/views/res_config_settings_views.xml index f0cabe5d527..d2ff6b19c98 100644 --- a/addons/crm/views/res_config_settings_views.xml +++ b/addons/crm/views/res_config_settings_views.xml @@ -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> |
