summaryrefslogtreecommitdiff
path: root/addons/barcodes
diff options
context:
space:
mode:
Diffstat (limited to 'addons/barcodes')
-rw-r--r--addons/barcodes/__init__.py15
-rw-r--r--addons/barcodes/__manifest__.py2
-rw-r--r--addons/barcodes/models/__init__.py1
-rw-r--r--addons/barcodes/models/res_company.py16
-rw-r--r--addons/barcodes/views/res_company.xml13
5 files changed, 47 insertions, 0 deletions
diff --git a/addons/barcodes/__init__.py b/addons/barcodes/__init__.py
index cde864bae21..dfbc1f52912 100644
--- a/addons/barcodes/__init__.py
+++ b/addons/barcodes/__init__.py
@@ -1,3 +1,18 @@
# -*- coding: utf-8 -*-
from . import models
+
+from odoo import api, SUPERUSER_ID
+
+
+def _assign_default_nomeclature_id(cr, registry):
+ env = api.Environment(cr, SUPERUSER_ID, {})
+ company_ids_without_default_nomenclature_id = env['res.company'].search([
+ ('nomenclature_id', '=', False)
+ ])
+ default_nomenclature_id = env.ref('barcodes.default_barcode_nomenclature', raise_if_not_found=False)
+ if default_nomenclature_id:
+ company_ids_without_default_nomenclature_id.write({
+ 'nomenclature_id': default_nomenclature_id.id,
+ })
+
diff --git a/addons/barcodes/__manifest__.py b/addons/barcodes/__manifest__.py
index f65d24a4316..83419dcd933 100644
--- a/addons/barcodes/__manifest__.py
+++ b/addons/barcodes/__manifest__.py
@@ -9,7 +9,9 @@
'views/barcodes_view.xml',
'security/ir.model.access.csv',
'views/barcodes_templates.xml',
+ 'views/res_company.xml',
],
'installable': True,
'auto_install': False,
+ 'post_init_hook': '_assign_default_nomeclature_id',
}
diff --git a/addons/barcodes/models/__init__.py b/addons/barcodes/models/__init__.py
index e3f49cb14ed..15631161b43 100644
--- a/addons/barcodes/models/__init__.py
+++ b/addons/barcodes/models/__init__.py
@@ -2,3 +2,4 @@
from . import barcodes
from . import barcode_events_mixin
from . import ir_http
+from . import res_company
diff --git a/addons/barcodes/models/res_company.py b/addons/barcodes/models/res_company.py
new file mode 100644
index 00000000000..b510c6e0c1d
--- /dev/null
+++ b/addons/barcodes/models/res_company.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields
+
+
+class ResCompany(models.Model):
+ _inherit = 'res.company'
+
+ def _get_default_nomenclature(self):
+ return self.env.ref('barcodes.default_barcode_nomenclature', raise_if_not_found=False)
+
+ nomenclature_id = fields.Many2one(
+ 'barcode.nomenclature',
+ string="Nomenclature",
+ default=_get_default_nomenclature,
+ )
diff --git a/addons/barcodes/views/res_company.xml b/addons/barcodes/views/res_company.xml
new file mode 100644
index 00000000000..fcf2b6c6eaa
--- /dev/null
+++ b/addons/barcodes/views/res_company.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<odoo>
+ <record model="ir.ui.view" id="view_company_form_inherit">
+ <field name="name">barcode.company.form</field>
+ <field name="model">res.company</field>
+ <field name="inherit_id" ref="base.view_company_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='currency_id']" position="after">
+ <field name="nomenclature_id"/>
+ </xpath>
+ </field>
+ </record>
+</odoo>