[IMP] base: Add a new model 'Sector of Activity' used on partners
purpose
=======
We need to store and produce reports about customer activity sectors to improve references mechanism.
Specification
=============
- add a new model res.partner.industry "Sector of Activity"
- fields:
- name (translatable)
- full_name (translatable)
- active
- add minimalist form and list views (à la Contact Tags)
- menu: Sales/Settings/Contacts/Contact Industries (Technical Settings only)
- ACL: R for group_user, CRUD for group_system
- add a default XML data file to preload res.partner.industry with the ISIC 2008 aka NACE rev.2 level 1: https://docs.google.com/a/odoo.com/spreadsheets/d/1IrGbHIaaDDkBAS2uGABeNRPndtYbyVBVoYYpQNXnhnY/edit?usp=sharing
- Note: we leave it as an option for end-users to import their own industries, because there are many competing standards: ISIC, NACE, NAICS, OKVED, etc.
- Each standard also has different hierarchical levels, and we only use the top level one by default.
- add a m2o industry_id ("Sector of Activity") on res.partner towards res.partner.industry
- add industry_id in partner form view, in Sales & Purchase > Misc, only visible when contact type is Company
- No quick create for this field
This commit is contained in:
@@ -17,7 +17,9 @@
|
||||
<menuitem id="menu_config_address_book" parent="menu_sale_config" name="Contacts" sequence="4" groups="base.group_system"/>
|
||||
<menuitem action="base.action_partner_category_form" id="menu_partner_category_form" name="Contact Tags" sequence="1" parent="menu_config_address_book" groups="base.group_no_one"/>
|
||||
<menuitem action="base.action_partner_title_contact" id="menu_partner_title_contact" name="Contact Titles" parent="menu_config_address_book" sequence="3" groups="base.group_no_one"/>
|
||||
<menuitem id="res_partner_industry_menu" name="Sectors of Activity" action="base.res_partner_industry_action" parent="sales_team.menu_config_address_book" sequence="4" groups="base.group_no_one"/>
|
||||
<menuitem id="menu_localisation" name="Localization" parent="menu_config_address_book" sequence="5" groups="base.group_no_one"/>
|
||||
|
||||
<menuitem action="base.action_country" id="menu_country_partner" parent="menu_localisation" sequence="1" groups="base.group_no_one"/>
|
||||
<menuitem action="base.action_country_group" id="menu_country_group" name="Country Group" parent="menu_localisation" sequence="3" groups="base.group_no_one"/>
|
||||
<menuitem action="base.action_country_state" id="menu_country_state_partner" parent="menu_localisation" sequence="2" groups="base.group_no_one"/>
|
||||
|
||||
@@ -203,6 +203,7 @@ class Partner(models.Model):
|
||||
mobile = fields.Char()
|
||||
is_company = fields.Boolean(string='Is a Company', default=False,
|
||||
help="Check if the contact is a company, otherwise it is a person")
|
||||
industry_id = fields.Many2one('res.partner.industry', 'Sector of Activity')
|
||||
# company_type is only an interface field, do not use it in business logic
|
||||
company_type = fields.Selection(string='Company Type',
|
||||
selection=[('person', 'Individual'), ('company', 'Company')],
|
||||
@@ -809,3 +810,13 @@ class Partner(models.Model):
|
||||
'country_id.address_format', 'country_id.code', 'country_id.name',
|
||||
'company_name', 'state_id.code', 'state_id.name',
|
||||
]
|
||||
|
||||
|
||||
class ResPartnerIndustry(models.Model):
|
||||
_description = 'Sector of Activity'
|
||||
_name = "res.partner.industry"
|
||||
_order = "name"
|
||||
|
||||
name = fields.Char('Name', translate=True)
|
||||
full_name = fields.Char('Full Name', translate=True)
|
||||
active = fields.Boolean('Active', default=True)
|
||||
|
||||
@@ -34,5 +34,111 @@
|
||||
<field name="name">Partner</field>
|
||||
<field name="object">res.partner</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_A" model="res.partner.industry">
|
||||
<field name="name">Agriculture</field>
|
||||
<field name="full_name">A AGRICULTURE, FORESTRY AND FISHING</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_B" model="res.partner.industry">
|
||||
<field name="name">Mining</field>
|
||||
<field name="full_name">B MINING AND QUARRYING</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_C" model="res.partner.industry">
|
||||
<field name="name">Manufacturing</field>
|
||||
<field name="full_name">C MANUFACTURING</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_D" model="res.partner.industry">
|
||||
<field name="name">Energy supply</field>
|
||||
<field name="full_name">D ELECTRICITY,GAS,STEAM AND AIR CONDITIONING SUPPLY</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_E" model="res.partner.industry">
|
||||
<field name="name">Water supply</field>
|
||||
<field name="full_name">E WATER SUPPLY;SEWERAGE,WASTE MANAGEMENT AND REMEDIATION ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_F" model="res.partner.industry">
|
||||
<field name="name">Construction</field>
|
||||
<field name="full_name">F CONSTRUCTION</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_G" model="res.partner.industry">
|
||||
<field name="name">Wholesale/Retail</field>
|
||||
<field name="full_name">G WHOLESALE AND RETAIL TRADE;REPAIR OF MOTOR VEHICLES AND MOTORCYCLES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_H" model="res.partner.industry">
|
||||
<field name="name">Transportation</field>
|
||||
<field name="full_name">H TRANSPORTATION AND STORAGE</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_I" model="res.partner.industry">
|
||||
<field name="name">Food</field>
|
||||
<field name="full_name">I ACCOMMODATION AND FOOD SERVICE ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_J" model="res.partner.industry">
|
||||
<field name="name">IT/Communication</field>
|
||||
<field name="full_name">J INFORMATION AND COMMUNICATION</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_K" model="res.partner.industry">
|
||||
<field name="name">Finance/Insurance</field>
|
||||
<field name="full_name">K FINANCIAL AND INSURANCE ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_L" model="res.partner.industry">
|
||||
<field name="name">Real Estrate</field>
|
||||
<field name="full_name">L REAL ESTATE ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_M" model="res.partner.industry">
|
||||
<field name="name">Scientific</field>
|
||||
<field name="full_name">M PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_N" model="res.partner.industry">
|
||||
<field name="name">Administrative</field>
|
||||
<field name="full_name">N ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_O" model="res.partner.industry">
|
||||
<field name="name">Public Administration</field>
|
||||
<field name="full_name">O PUBLIC ADMINISTRATION AND DEFENCE;COMPULSORY SOCIAL SECURITY</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_P" model="res.partner.industry">
|
||||
<field name="name">Education</field>
|
||||
<field name="full_name">P EDUCATION</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_Q" model="res.partner.industry">
|
||||
<field name="name">Health/Social</field>
|
||||
<field name="full_name">Q HUMAN HEALTH AND SOCIAL WORK ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_R" model="res.partner.industry">
|
||||
<field name="name">Entertainment</field>
|
||||
<field name="full_name">R ARTS, ENTERTAINMENT AND RECREATION</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_S" model="res.partner.industry">
|
||||
<field name="name">Other Services</field>
|
||||
<field name="full_name">S OTHER SERVICE ACTIVITIES</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_T" model="res.partner.industry">
|
||||
<field name="name">Households</field>
|
||||
<field name="full_name">T ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS;UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_industry_U" model="res.partner.industry">
|
||||
<field name="name">Extraterritorial</field>
|
||||
<field name="full_name">U ACTIVITIES OF EXTRA TERRITORIAL ORGANISATIONS AND BODIES</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -313,6 +313,7 @@
|
||||
<group string="Misc">
|
||||
<field name="ref"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
||||
<field name="industry_id" attrs="{'invisible': [('is_company', '=', False)]}" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
@@ -557,6 +558,46 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Sector of Activity -->
|
||||
<record id="res_partner_industry_view_form" model="ir.ui.view">
|
||||
<field name="name">Sector of Activity</field>
|
||||
<field name="model">res.partner.industry</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sector of Activity">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="full_name"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="res_partner_industry_view_tree" model="ir.ui.view">
|
||||
<field name="name">Sector of Activity</field>
|
||||
<field name="model">res.partner.industry</field>
|
||||
<field eval="6" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Sector of Activity">
|
||||
<field name="name"/>
|
||||
<field name="full_name"/>
|
||||
<field name="active"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="res_partner_industry_action" model="ir.actions.act_window">
|
||||
<field name="name">Sector of Activity</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">res.partner.industry</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create a new sector of activity.
|
||||
</p>
|
||||
<p>
|
||||
Manage sectors of activity to better classify partners for tracking and analysis purposes.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -57,6 +57,8 @@
|
||||
"access_res_partner_bank_group_partner_manager","res_partner_bank group_partner_manager","model_res_partner_bank","group_partner_manager",1,1,1,1
|
||||
"access_res_partner_category_group_user","res_partner_category group_user","model_res_partner_category","group_user",1,0,0,0
|
||||
"access_res_partner_category_group_partner_manager","res_partner_category group_partner_manager","model_res_partner_category","group_partner_manager",1,1,1,1
|
||||
"access_res_partner_industry_group_user","res_partner_industry group_user","model_res_partner_industry","group_user",1,0,0,0
|
||||
"access_res_partner_industry_group_system","res_partner_industry group_system","model_res_partner_industry","group_system",1,1,1,1
|
||||
"access_res_partner_title_group_user","res_partner_title group_user","model_res_partner_title","group_partner_manager",1,1,1,1
|
||||
"access_res_partner_title_group_partner_manager","res_partner_title group_partner_manager","model_res_partner_title",,1,0,0,0
|
||||
"access_res_request_link_group_system","res_request_link group_system","model_res_request_link","group_system",1,1,1,1
|
||||
|
||||
|
Reference in New Issue
Block a user