From 7951870b3eaf861ed7a3dbe1ca0c94e5f1f57508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 13 Jul 2021 07:39:14 +0000 Subject: [PATCH] [MOV] crm_iap_mine: reorganize and guidelinize addon PURPOSE Perform a global renaming / cleaning of IAP features often added or merged with minimal review. Time to cleanup ! SPECIFICATIONS Reorganize module according to guidelines. Notably correctly name files, split python fiels and views according to their model, split some data to ease module organization and understanding. Perform some code re-ordering in some big files in order to have code clearly separated by main usage and ease future changes. Quickly lint or update some view or record names. LINKS Task-2630969 Prepares Task-2600047 (code improvements and cleaning) COM PR odoo/odoo#75514 ENT PR odoo/enterprise#20424 UPG PR odoo/upgrade#2770 --- addons/crm_iap_mine/__manifest__.py | 3 ++- addons/crm_iap_mine/data/ir_sequence_data.xml | 2 +- addons/crm_iap_mine/models/__init__.py | 4 ++- .../models/crm_iap_lead_mining_request.py | 14 +++++----- .../{crm_iap_lead.py => crm_iap_lead_role.py} | 3 +++ .../models/crm_iap_lead_seniority.py | 21 +++++++++++++++ ... => crm_iap_lead_mining_request_views.xml} | 26 +++++-------------- addons/crm_iap_mine/views/crm_lead_views.xml | 16 ++++++------ addons/crm_iap_mine/views/crm_menus.xml | 15 +++++++++++ 9 files changed, 66 insertions(+), 38 deletions(-) rename addons/crm_iap_mine/models/{crm_iap_lead.py => crm_iap_lead_role.py} (91%) create mode 100644 addons/crm_iap_mine/models/crm_iap_lead_seniority.py rename addons/crm_iap_mine/views/{crm_iap_lead_views.xml => crm_iap_lead_mining_request_views.xml} (92%) create mode 100644 addons/crm_iap_mine/views/crm_menus.xml diff --git a/addons/crm_iap_mine/__manifest__.py b/addons/crm_iap_mine/__manifest__.py index 6138e2d3f28..c00386253a3 100644 --- a/addons/crm_iap_mine/__manifest__.py +++ b/addons/crm_iap_mine/__manifest__.py @@ -18,9 +18,10 @@ 'data/ir_sequence_data.xml', 'security/ir.model.access.csv', 'views/crm_lead_views.xml', - 'views/crm_iap_lead_views.xml', + 'views/crm_iap_lead_mining_request_views.xml', 'views/res_config_settings_views.xml', 'views/mail_templates.xml', + 'views/crm_menus.xml', ], 'auto_install': True, 'assets': { diff --git a/addons/crm_iap_mine/data/ir_sequence_data.xml b/addons/crm_iap_mine/data/ir_sequence_data.xml index 89be4f1607b..65a06595cfa 100644 --- a/addons/crm_iap_mine/data/ir_sequence_data.xml +++ b/addons/crm_iap_mine/data/ir_sequence_data.xml @@ -2,7 +2,7 @@ - + Lead Mining Request crm.iap.lead.mining.request LMR diff --git a/addons/crm_iap_mine/models/__init__.py b/addons/crm_iap_mine/models/__init__.py index 0c77343b653..dd0f85a9843 100644 --- a/addons/crm_iap_mine/models/__init__.py +++ b/addons/crm_iap_mine/models/__init__.py @@ -1,7 +1,9 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. + from . import crm_lead -from . import crm_iap_lead from . import crm_iap_lead_helpers from . import crm_iap_lead_industry +from . import crm_iap_lead_role +from . import crm_iap_lead_seniority from . import crm_iap_lead_mining_request diff --git a/addons/crm_iap_mine/models/crm_iap_lead_mining_request.py b/addons/crm_iap_mine/models/crm_iap_lead_mining_request.py index e4888e1446a..cf874ad3239 100644 --- a/addons/crm_iap_mine/models/crm_iap_lead_mining_request.py +++ b/addons/crm_iap_mine/models/crm_iap_lead_mining_request.py @@ -184,7 +184,13 @@ class CRMLeadMiningRequest(models.Model): def _onchange_company_size_max(self): if self.company_size_max < self.company_size_min: self.company_size_max = self.company_size_min - + + @api.model + def get_empty_list_help(self, help): + help_title = _('Create a Lead Mining Request') + sub_title = _('Generate new leads based on their country, industry, size, etc.') + return '

%s

%s

' % (help_title, sub_title) + def _prepare_iap_payload(self): """ This will prepare the data to send to the server @@ -276,12 +282,6 @@ class CRMLeadMiningRequest(models.Model): lead_vals['lead_mining_request_id'] = self.id return lead_vals - @api.model - def get_empty_list_help(self, help): - help_title = _('Create a Lead Mining Request') - sub_title = _('Generate new leads based on their country, industry, size, etc.') - return '

%s

%s

' % (help_title, sub_title) - def action_draft(self): self.ensure_one() self.name = _('New') diff --git a/addons/crm_iap_mine/models/crm_iap_lead.py b/addons/crm_iap_mine/models/crm_iap_lead_role.py similarity index 91% rename from addons/crm_iap_mine/models/crm_iap_lead.py rename to addons/crm_iap_mine/models/crm_iap_lead_role.py index 9a43ca8cce8..6ab177b30fc 100644 --- a/addons/crm_iap_mine/models/crm_iap_lead.py +++ b/addons/crm_iap_mine/models/crm_iap_lead_role.py @@ -1,3 +1,6 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + from odoo import api, fields, models diff --git a/addons/crm_iap_mine/models/crm_iap_lead_seniority.py b/addons/crm_iap_mine/models/crm_iap_lead_seniority.py new file mode 100644 index 00000000000..f110c4f69ca --- /dev/null +++ b/addons/crm_iap_mine/models/crm_iap_lead_seniority.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class PeopleSeniority(models.Model): + """ Seniority for People Rules """ + _name = 'crm.iap.lead.seniority' + _description = 'People Seniority' + + name = fields.Char(string='Name', required=True, translate=True) + reveal_id = fields.Char(required=True) + + _sql_constraints = [ + ('name_uniq', 'unique (name)', 'Name already exists!'), + ] + + @api.depends('name') + def name_get(self): + return [(seniority.id, seniority.name.replace('_', ' ').title()) for seniority in self] diff --git a/addons/crm_iap_mine/views/crm_iap_lead_views.xml b/addons/crm_iap_mine/views/crm_iap_lead_mining_request_views.xml similarity index 92% rename from addons/crm_iap_mine/views/crm_iap_lead_views.xml rename to addons/crm_iap_mine/views/crm_iap_lead_mining_request_views.xml index 9a8ee12bd3f..d88cc564e85 100644 --- a/addons/crm_iap_mine/views/crm_iap_lead_views.xml +++ b/addons/crm_iap_mine/views/crm_iap_lead_mining_request_views.xml @@ -1,7 +1,7 @@ - - crm.iap.lead.mining.request.form + + crm.iap.lead.mining.request.view.form crm.iap.lead.mining.request
@@ -107,8 +107,8 @@ - - crm.iap.lead.mining.request.tree + + crm.iap.lead.mining.request.view.tree crm.iap.lead.mining.request @@ -124,8 +124,8 @@ - - crm.iap.lead.mining.request.search + + crm.iap.lead.mining.request.view.search crm.iap.lead.mining.request @@ -153,18 +153,4 @@ crm.iap.lead.mining.request tree,form - - - - - - diff --git a/addons/crm_iap_mine/views/crm_lead_views.xml b/addons/crm_iap_mine/views/crm_lead_views.xml index 9386b1979e0..516d3434f7e 100644 --- a/addons/crm_iap_mine/views/crm_lead_views.xml +++ b/addons/crm_iap_mine/views/crm_lead_views.xml @@ -1,8 +1,8 @@ - - crm.opportunity.inherited.tree + + crm.lead.view.tree.opportunity.inherit.iap.mine crm.lead @@ -12,8 +12,8 @@ - - crm.opportunity.inherited.kanban + + crm.lead.view.kanban.inherit.iap.mine crm.lead @@ -23,8 +23,8 @@ - - crm.lead.inherited.tree + + crm.lead.view.tree.lead.inherit.iap.mine crm.lead @@ -34,8 +34,8 @@ - - crm.lead.inherited.kanban + + crm.lead.view.kanban.lead.inherit.iap.mine crm.lead diff --git a/addons/crm_iap_mine/views/crm_menus.xml b/addons/crm_iap_mine/views/crm_menus.xml new file mode 100644 index 00000000000..7d6f5b475f9 --- /dev/null +++ b/addons/crm_iap_mine/views/crm_menus.xml @@ -0,0 +1,15 @@ + + + + + + +