diff options
| author | William Henrotin <whe@odoo.com> | 2018-08-29 15:36:31 +0200 |
|---|---|---|
| committer | Simon Lejeune <sle@openerp.com> | 2018-09-10 13:33:42 +0200 |
| commit | 95a9572da3a8f2134ea6d5ff917c7c17526f6ee7 (patch) | |
| tree | bc754d7f50109cad225d106f6f3af0eeb694dc45 /addons/barcodes | |
| parent | acace4d8c3caca5f38eb6d6e603a1133329b4ccc (diff) | |
[REF] barcodes, stock, point_of_sale: one nomenclature per company
This commit adds a many2one between barcode.nomenclature and res.company
and removes Many2one pointing toward a nomenclature record.
This aims to improve the usability and allows using nomenclature in
inventory adjustment where a `nomenclature_id` field was set.
Diffstat (limited to 'addons/barcodes')
| -rw-r--r-- | addons/barcodes/__init__.py | 15 | ||||
| -rw-r--r-- | addons/barcodes/__manifest__.py | 2 | ||||
| -rw-r--r-- | addons/barcodes/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/barcodes/models/res_company.py | 16 | ||||
| -rw-r--r-- | addons/barcodes/views/res_company.xml | 13 |
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> |
