[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
This commit is contained in:
Thibault Delavallée
2021-08-25 13:10:19 +00:00
parent 528880aa9c
commit 7951870b3e
9 changed files with 66 additions and 38 deletions
+2 -1
View File
@@ -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': {
@@ -2,7 +2,7 @@
<odoo>
<data noupdate="1">
<!-- Sequences for lead mining requests -->
<record id="seq_crm_iap_lead_mining_request" model="ir.sequence">
<record id="ir_sequence_crm_iap_mine" model="ir.sequence">
<field name="name">Lead Mining Request</field>
<field name="code">crm.iap.lead.mining.request</field>
<field name="prefix">LMR</field>
+3 -1
View File
@@ -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
@@ -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 '<p class="o_view_nocontent_smiling_face">%s</p><p class="oe_view_nocontent_alias">%s</p>' % (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 '<p class="o_view_nocontent_smiling_face">%s</p><p class="oe_view_nocontent_alias">%s</p>' % (help_title, sub_title)
def action_draft(self):
self.ensure_one()
self.name = _('New')
@@ -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
@@ -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]
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="crm_iap_lead_mining_request_form" model="ir.ui.view">
<field name="name">crm.iap.lead.mining.request.form</field>
<record id="crm_iap_lead_mining_request_view_form" model="ir.ui.view">
<field name="name">crm.iap.lead.mining.request.view.form</field>
<field name="model">crm.iap.lead.mining.request</field>
<field name="arch" type="xml">
<form>
@@ -107,8 +107,8 @@
</field>
</record>
<record id="crm_iap_lead_mining_request_tree" model="ir.ui.view">
<field name="name">crm.iap.lead.mining.request.tree</field>
<record id="crm_iap_lead_mining_request_view_tree" model="ir.ui.view">
<field name="name">crm.iap.lead.mining.request.view.tree</field>
<field name="model">crm.iap.lead.mining.request</field>
<field name="arch" type="xml">
<tree>
@@ -124,8 +124,8 @@
</field>
</record>
<record id="crm_iap_lead_mining_request_search" model="ir.ui.view">
<field name="name">crm.iap.lead.mining.request.search</field>
<record id="crm_iap_lead_mining_request_view_search" model="ir.ui.view">
<field name="name">crm.iap.lead.mining.request.view.search</field>
<field name="model">crm.iap.lead.mining.request</field>
<field name="arch" type="xml">
<search string="Lead Mining Request">
@@ -153,18 +153,4 @@
<field name="res_model">crm.iap.lead.mining.request</field>
<field name="view_mode">tree,form</field>
</record>
<!-- This menu is display in CRM app when crm_iap_lead is installed-->
<menuitem
id="crm_menu_lead_generation"
name="Lead Generation"
parent="crm.crm_menu_config"
sequence="20"/>
<menuitem
id="crm_iap_lead_mining_request_menu_action"
action="crm_iap_lead_mining_request_action"
parent="crm_menu_lead_generation"
sequence="0"/>
</odoo>
+8 -8
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="crm_iap_opportunity_tree" model="ir.ui.view">
<field name="name">crm.opportunity.inherited.tree</field>
<record id="crm_lead_view_tree_opportunity" model="ir.ui.view">
<field name="name">crm.lead.view.tree.opportunity.inherit.iap.mine</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_tree_view_oppor" />
<field name="arch" type="xml">
@@ -12,8 +12,8 @@
</field>
</record>
<record id="crm_iap_opportunity_kanban" model="ir.ui.view">
<field name="name">crm.opportunity.inherited.kanban</field>
<record id="crm_lead_view_kanban_opportunity" model="ir.ui.view">
<field name="name">crm.lead.view.kanban.inherit.iap.mine</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_kanban_view_leads" />
<field name="arch" type="xml">
@@ -23,8 +23,8 @@
</field>
</record>
<record id="crm_iap_lead_tree" model="ir.ui.view">
<field name="name">crm.lead.inherited.tree</field>
<record id="crm_lead_view_tree_lead" model="ir.ui.view">
<field name="name">crm.lead.view.tree.lead.inherit.iap.mine</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_tree_view_leads" />
<field name="arch" type="xml">
@@ -34,8 +34,8 @@
</field>
</record>
<record id="crm_iap_lead_kanban" model="ir.ui.view">
<field name="name">crm.lead.inherited.kanban</field>
<record id="crm_lead_view_kanban_lead" model="ir.ui.view">
<field name="name">crm.lead.view.kanban.lead.inherit.iap.mine</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.view_crm_lead_kanban" />
<field name="arch" type="xml">
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- This menu is display in CRM app when crm_iap_lead is installed-->
<menuitem
id="crm_menu_lead_generation"
name="Lead Generation"
parent="crm.crm_menu_config"
sequence="20"/>
<menuitem
id="crm_iap_lead_mining_request_menu_action"
action="crm_iap_lead_mining_request_action"
parent="crm_menu_lead_generation"
sequence="0"/>
</odoo>