From c39abeeefeff4c9cc0b1ac6cccb5b534bbf45080 Mon Sep 17 00:00:00 2001
From: Yannick Tivisse <yti@odoo.com>
Date: Mon, 4 Sep 2017 12:48:56 +0200
Subject: [PATCH] [IMP] settings: Remove redefinition of `company_id` in
 settings.

On the other hand, create a new field for the configuration of the inter company rules.
---
 addons/account/models/res_config_settings.py            | 2 --
 addons/account/views/res_config_settings_views.xml      | 1 -
 addons/base_setup/views/res_config_settings_views.xml   | 1 -
 addons/crm/models/res_config_settings.py                | 2 --
 addons/crm/views/res_config_settings_views.xml          | 1 -
 addons/hr/models/res_config_settings.py                 | 3 ---
 addons/hr/views/res_config_settings_views.xml           | 1 -
 addons/hr_timesheet/views/res_config_settings_views.xml | 1 -
 addons/l10n_fr_hr_payroll/models/res_config_settings.py | 2 --
 addons/mrp/models/res_config_settings.py                | 2 --
 addons/mrp/views/res_config_settings_views.xml          | 1 -
 addons/project/models/res_config_settings.py            | 2 --
 addons/purchase/models/res_config_settings.py           | 2 --
 addons/purchase/views/res_config_settings_views.xml     | 1 -
 addons/sale/models/res_config_settings.py               | 2 --
 addons/sale/views/res_config_settings_views.xml         | 1 -
 addons/stock/models/res_config_settings.py              | 3 ---
 addons/stock/views/res_config_settings_views.xml        | 1 -
 18 files changed, 29 deletions(-)

diff --git a/addons/account/models/res_config_settings.py b/addons/account/models/res_config_settings.py
index 931ec193eebf..f6a1e4ef5bb5 100644
--- a/addons/account/models/res_config_settings.py
+++ b/addons/account/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import api, fields, models, _
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        default=lambda self: self.env.user.company_id)
     has_accounting_entries = fields.Boolean(compute='_compute_has_chart_of_accounts')
     currency_id = fields.Many2one('res.currency', related="company_id.currency_id", required=True,
         string='Currency', help="Main currency of the company.")
diff --git a/addons/account/views/res_config_settings_views.xml b/addons/account/views/res_config_settings_views.xml
index aa59af537163..10fa5b1d1c03 100644
--- a/addons/account/views/res_config_settings_views.xml
+++ b/addons/account/views/res_config_settings_views.xml
@@ -17,7 +17,6 @@
             <field name="arch" type="xml">
                 <xpath expr="//div[hasclass('settings')]" position="inside">
                     <div class="app_settings_block" data-string="Accounting" data-key="account_invoicing" groups="account.group_account_manager">
-                        <field name="company_id" invisible="1"/>
                         <field name="has_chart_of_accounts" invisible="1"/>
                         <field name="has_accounting_entries" invisible="1"/>
                             <h2>Fiscal Localization</h2>
diff --git a/addons/base_setup/views/res_config_settings_views.xml b/addons/base_setup/views/res_config_settings_views.xml
index 964bcda75cf4..d83cc4d1d99b 100644
--- a/addons/base_setup/views/res_config_settings_views.xml
+++ b/addons/base_setup/views/res_config_settings_views.xml
@@ -62,7 +62,6 @@
                                     </div>
                                     <div class="content-group" attrs="{'invisible': [('default_user_rights','=',False)]}">
                                         <div class="mt16">
-                                            <field name="company_id" invisible="1"/>
                                             <button type="object" name="open_default_user" string="Default Access Rights" icon="fa-arrow-right" class="btn-link"/>
                                         </div>
                                     </div>
diff --git a/addons/crm/models/res_config_settings.py b/addons/crm/models/res_config_settings.py
index fdbf418af2e2..fe3c5bb28e0f 100644
--- a/addons/crm/models/res_config_settings.py
+++ b/addons/crm/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import api, fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        default=lambda self: self.env.user.company_id)
     crm_alias_prefix = fields.Char('Default Alias Name for Leads')
     alias_domain = fields.Char('Alias Domain', default=lambda self: self.env["ir.config_parameter"].sudo().get_param("mail.catchall.domain"))
     generate_lead_from_alias = fields.Boolean('Manual Assignation of Emails')
diff --git a/addons/crm/views/res_config_settings_views.xml b/addons/crm/views/res_config_settings_views.xml
index 488facf836a1..98c6f890ba8c 100644
--- a/addons/crm/views/res_config_settings_views.xml
+++ b/addons/crm/views/res_config_settings_views.xml
@@ -10,7 +10,6 @@
             <xpath expr="//div[hasclass('settings')]" position="inside">
                 <div class="app_settings_block" data-string="CRM" data-key="crm" groups="sales_team.group_sale_manager">
                     <h2>CRM</h2>
-                    <field name="company_id" invisible="1"/>
                     <div class="row mt16 o_settings_container">
                         <div class="col-xs-12 col-md-6 o_setting_box" id="crm_lead">
                             <div class="o_setting_left_pane">
diff --git a/addons/hr/models/res_config_settings.py b/addons/hr/models/res_config_settings.py
index b916ea2355df..d66006cc101f 100644
--- a/addons/hr/models/res_config_settings.py
+++ b/addons/hr/models/res_config_settings.py
@@ -6,9 +6,6 @@ from odoo import fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one(
-    	'res.company', string='Company',
-        default=lambda self: self.env.user.company_id, required=True)
     resource_calendar_id = fields.Many2one(
         'resource.calendar', 'Company Working Hours',
         related='company_id.resource_calendar_id')
diff --git a/addons/hr/views/res_config_settings_views.xml b/addons/hr/views/res_config_settings_views.xml
index 3a68ae18f8a2..436c40ac2f60 100644
--- a/addons/hr/views/res_config_settings_views.xml
+++ b/addons/hr/views/res_config_settings_views.xml
@@ -8,7 +8,6 @@
         <field name="arch" type="xml">
             <xpath expr="//div[hasclass('settings')]" position="inside">
                 <div class="app_settings_block" data-string="Employee" data-key="hr" groups="hr.group_hr_manager">
-                    <field name="company_id" invisible="1"/>
                     <h2>Work Organization</h2>
                     <div class="row mt16 o_settings_container" title="Prout prout prout">
                         <div class="col-xs-12 col-md-6 o_setting_box">
diff --git a/addons/hr_timesheet/views/res_config_settings_views.xml b/addons/hr_timesheet/views/res_config_settings_views.xml
index 6a6a96004fb6..ff3ecd6292be 100644
--- a/addons/hr_timesheet/views/res_config_settings_views.xml
+++ b/addons/hr_timesheet/views/res_config_settings_views.xml
@@ -11,7 +11,6 @@
         <field name="arch" type="xml">
             <xpath expr="//div[hasclass('settings')]" position="inside">
                 <div class="app_settings_block" data-string="Timesheets" data-key="hr_timesheet" groups="hr_timesheet.group_timesheet_manager">
-                    <field name="company_id" invisible="1"/>
                     <h2>Timesheet Apps</h2>
                     <div class="row mt16 o_settings_container">
                         <div class="col-xs-12 col-md-6 o_setting_box">
diff --git a/addons/l10n_fr_hr_payroll/models/res_config_settings.py b/addons/l10n_fr_hr_payroll/models/res_config_settings.py
index 5d6cda5fa0a4..1ae73b14698e 100644
--- a/addons/l10n_fr_hr_payroll/models/res_config_settings.py
+++ b/addons/l10n_fr_hr_payroll/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        copy=False, default=lambda self: self.env['res.company']._company_default_get())
     plafond_secu = fields.Float(related='company_id.plafond_secu', string="Plafond de la Securite Sociale")
     nombre_employes = fields.Integer(related='company_id.nombre_employes', string="Nombre d'employes")
     cotisation_prevoyance = fields.Float(related='company_id.cotisation_prevoyance', string='Cotisation Patronale Prevoyance')
diff --git a/addons/mrp/models/res_config_settings.py b/addons/mrp/models/res_config_settings.py
index 0086f24c0fd9..33709d00ae50 100644
--- a/addons/mrp/models/res_config_settings.py
+++ b/addons/mrp/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import api, fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        default=lambda self: self.env.user.company_id)
     manufacturing_lead = fields.Float(related='company_id.manufacturing_lead', string="Manufacturing Lead Time")
     use_manufacturing_lead = fields.Boolean(string="Default Manufacturing Lead Time", oldname='default_use_manufacturing_lead')
     module_mrp_byproduct = fields.Boolean("By-Products")
diff --git a/addons/mrp/views/res_config_settings_views.xml b/addons/mrp/views/res_config_settings_views.xml
index c3973211fbe7..541563d45678 100644
--- a/addons/mrp/views/res_config_settings_views.xml
+++ b/addons/mrp/views/res_config_settings_views.xml
@@ -10,7 +10,6 @@
                 <xpath expr="//div[hasclass('settings')]" position="inside">
                     <div class="app_settings_block" data-string="Manufacturing" data-key="mrp" groups="mrp.group_mrp_manager">
                         <h2>Operations</h2>
-                        <field name="company_id" invisible="1"/>
                         <div class="row mt16 o_settings_container">
                             <div class="col-md-6 col-xs-12 o_setting_box" id="work_order" title="Work Order Operations allow you to create and manage the manufacturing operations that should be followed within your work centers in order to produce a product. They are attached to bills of materials that will define the required raw materials.">
                                 <div class="o_setting_left_pane">
diff --git a/addons/project/models/res_config_settings.py b/addons/project/models/res_config_settings.py
index 4f061e9d8982..0309f216c8ce 100644
--- a/addons/project/models/res_config_settings.py
+++ b/addons/project/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import api, fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        default=lambda self: self.env.user.company_id)
     module_pad = fields.Boolean("Collaborative Pads")
     module_hr_timesheet = fields.Boolean("Timesheets")
     module_rating_project = fields.Boolean(string="Rating on Tasks")
diff --git a/addons/purchase/models/res_config_settings.py b/addons/purchase/models/res_config_settings.py
index 5aaf47b81088..f14e5e82ae47 100644
--- a/addons/purchase/models/res_config_settings.py
+++ b/addons/purchase/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import api, fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        default=lambda self: self.env.user.company_id)
     lock_confirmed_po = fields.Boolean("Lock Confirmed Orders", default=lambda self: self.env.user.company_id.po_lock == 'lock')
     po_lock = fields.Selection(related='company_id.po_lock', string="Purchase Order Modification *")
     po_order_approval = fields.Boolean("Order Approval", default=lambda self: self.env.user.company_id.po_double_validation == 'two_step')
diff --git a/addons/purchase/views/res_config_settings_views.xml b/addons/purchase/views/res_config_settings_views.xml
index 38fd0a25a130..0f7e406c19d5 100644
--- a/addons/purchase/views/res_config_settings_views.xml
+++ b/addons/purchase/views/res_config_settings_views.xml
@@ -10,7 +10,6 @@
             <xpath expr="//div[hasclass('settings')]" position="inside">
                 <div class="app_settings_block" data-string="Purchase" data-key="purchase" groups="purchase.group_purchase_manager">
                     <field name="po_double_validation" invisible="1"/>
-                    <field name="company_id" invisible="1"/>
                     <field name="company_currency_id" invisible="1"/>
                     <field name="po_lock" invisible="1"/>
                     <h2>Orders</h2>
diff --git a/addons/sale/models/res_config_settings.py b/addons/sale/models/res_config_settings.py
index ac8588ebe565..cd6a15fa0c2e 100644
--- a/addons/sale/models/res_config_settings.py
+++ b/addons/sale/models/res_config_settings.py
@@ -7,8 +7,6 @@ from odoo import api, fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one('res.company', string='Company', required=True,
-        default=lambda self: self.env.user.company_id)
     sale_note = fields.Text(related='company_id.sale_note', string="Terms & Conditions")
     use_sale_note = fields.Boolean(
         string='Default Terms & Conditions',
diff --git a/addons/sale/views/res_config_settings_views.xml b/addons/sale/views/res_config_settings_views.xml
index d56f42d4eb21..dac061fc1e5a 100644
--- a/addons/sale/views/res_config_settings_views.xml
+++ b/addons/sale/views/res_config_settings_views.xml
@@ -9,7 +9,6 @@
         <field name="arch" type="xml">
             <xpath expr="//div[hasclass('settings')]" position="inside">
                 <div class="app_settings_block" data-string="Sales" data-key="sale_management" groups="sales_team.group_sale_manager">
-                    <field name="company_id" invisible="1"/>
                     <h2>Product Catalog</h2>
                     <div class="row mt16 o_settings_container">
                         <div class="col-xs-12 col-md-6 o_setting_box">
diff --git a/addons/stock/models/res_config_settings.py b/addons/stock/models/res_config_settings.py
index e57e7e51cbfe..cf9312147466 100644
--- a/addons/stock/models/res_config_settings.py
+++ b/addons/stock/models/res_config_settings.py
@@ -7,9 +7,6 @@ from odoo import api, fields, models
 class ResConfigSettings(models.TransientModel):
     _inherit = 'res.config.settings'
 
-    company_id = fields.Many2one(
-        'res.company', 'Company',
-        default=lambda self: self.env.user.company_id, required=True)
     module_procurement_jit = fields.Selection([
         (1, 'Immediately after sales order confirmation'),
         (0, 'Manually or based on automatic scheduler')
diff --git a/addons/stock/views/res_config_settings_views.xml b/addons/stock/views/res_config_settings_views.xml
index 4598effc6bb7..87e68dd930fe 100644
--- a/addons/stock/views/res_config_settings_views.xml
+++ b/addons/stock/views/res_config_settings_views.xml
@@ -9,7 +9,6 @@
             <field name="arch" type="xml">
                 <xpath expr="//div[hasclass('settings')]" position="inside" >
                     <div class="app_settings_block" data-string="Inventory" data-key="stock" groups="stock.group_stock_manager">
-                        <field name="company_id" invisible="1"/>
                         <h2>Operations</h2>
                         <div class="row mt16 o_settings_container">
                             <div class="col-xs-12 col-md-6 o_setting_box">
-- 
GitLab