diff --git a/addons/point_of_sale/data/point_of_sale_data.xml b/addons/point_of_sale/data/point_of_sale_data.xml index 90d6f460040..306572bf709 100644 --- a/addons/point_of_sale/data/point_of_sale_data.xml +++ b/addons/point_of_sale/data/point_of_sale_data.xml @@ -26,7 +26,6 @@ Shop - diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index b8df025a1c4..2faffe85c7e 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -109,9 +109,6 @@ class PosConfig(models.Model): available_pricelist_ids = fields.Many2many('product.pricelist', string='Available Pricelists', default=_default_pricelist, help="Make several pricelists available in the Point of Sale. You can also apply a pricelist to specific customers from their contact form (in Sales tab). To be valid, this pricelist must be listed here as an available pricelist. Otherwise the default pricelist will apply.") company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.company) - barcode_nomenclature_id = fields.Many2one('barcode.nomenclature', string='Barcode Nomenclature', - help='Defines what kind of barcodes are available and how they are assigned to products, customers and cashiers.', - default=lambda self: self.env.company.nomenclature_id, required=True) group_pos_manager_id = fields.Many2one('res.groups', string='Point of Sale Manager Group', default=_get_group_pos_manager, help='This field is there to pass the id of the pos manager group to the point of sale client.') group_pos_user_id = fields.Many2one('res.groups', string='Point of Sale User Group', default=_get_group_pos_user, diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py index a74b9657c0d..24c89902347 100644 --- a/addons/point_of_sale/models/pos_session.py +++ b/addons/point_of_sale/models/pos_session.py @@ -1652,7 +1652,7 @@ class PosSession(models.Model): 'domain': [('id', '=', self.company_id.id)], 'fields': [ 'currency_id', 'email', 'website', 'company_registry', 'vat', 'name', 'phone', 'partner_id', - 'country_id', 'state_id', 'tax_calculation_rounding_method' + 'country_id', 'state_id', 'tax_calculation_rounding_method', 'nomenclature_id' ], } } diff --git a/addons/point_of_sale/models/res_config_settings.py b/addons/point_of_sale/models/res_config_settings.py index 36b91984389..0c91aadef0a 100644 --- a/addons/point_of_sale/models/res_config_settings.py +++ b/addons/point_of_sale/models/res_config_settings.py @@ -40,6 +40,7 @@ class ResConfigSettings(models.TransientModel): update_stock_quantities = fields.Selection(related="company_id.point_of_sale_update_stock_quantities", readonly=False) account_default_pos_receivable_account_id = fields.Many2one(string='Default Account Receivable (PoS)', related='company_id.account_default_pos_receivable_account_id', readonly=False) is_default_pricelist_displayed = fields.Boolean(compute="_compute_pos_pricelist_id", compute_sudo=True) + barcode_nomenclature_id = fields.Many2one('barcode.nomenclature', related='company_id.nomenclature_id', readonly=False) # pos.config fields pos_module_pos_discount = fields.Boolean(related='pos_config_id.module_pos_discount', readonly=False) @@ -50,7 +51,6 @@ class ResConfigSettings(models.TransientModel): pos_allowed_pricelist_ids = fields.Many2many('product.pricelist', compute='_compute_pos_allowed_pricelist_ids') pos_amount_authorized_diff = fields.Float(related='pos_config_id.amount_authorized_diff', readonly=False) pos_available_pricelist_ids = fields.Many2many('product.pricelist', string='Available Pricelists', compute='_compute_pos_available_pricelist_ids', readonly=False, store=True, pos='available_pricelist_ids') - pos_barcode_nomenclature_id = fields.Many2one(related='pos_config_id.barcode_nomenclature_id', readonly=False) pos_cash_control = fields.Boolean(related='pos_config_id.cash_control') pos_cash_rounding = fields.Boolean(related='pos_config_id.cash_rounding', readonly=False, string="Cash Rounding (PoS)") pos_company_has_template = fields.Boolean(related='pos_config_id.company_has_template') diff --git a/addons/point_of_sale/static/src/js/Chrome.js b/addons/point_of_sale/static/src/js/Chrome.js index b5fb4843c6c..57721805f41 100644 --- a/addons/point_of_sale/static/src/js/Chrome.js +++ b/addons/point_of_sale/static/src/js/Chrome.js @@ -211,7 +211,7 @@ odoo.define('point_of_sale.Chrome', function(require) { } setupBarcodeParser() { - const barcode_parser = new BarcodeParser({ nomenclature_id: this.env.pos.config.barcode_nomenclature_id }); + const barcode_parser = new BarcodeParser({ nomenclature_id: this.env.pos.company.nomenclature_id }); this.env.barcode_reader.set_barcode_parser(barcode_parser); return barcode_parser.is_loaded(); } diff --git a/addons/point_of_sale/tests/test_frontend.py b/addons/point_of_sale/tests/test_frontend.py index 6901c8065d0..3facada5bd8 100644 --- a/addons/point_of_sale/tests/test_frontend.py +++ b/addons/point_of_sale/tests/test_frontend.py @@ -45,7 +45,6 @@ class TestPointOfSaleHttpCommon(AccountTestInvoicingHttpCommon): }) cls.main_pos_config = env['pos.config'].create({ 'name': 'Shop', - 'barcode_nomenclature_id': env.ref('barcodes.default_barcode_nomenclature').id, }) env['res.partner'].create({ diff --git a/addons/point_of_sale/views/res_config_settings_views.xml b/addons/point_of_sale/views/res_config_settings_views.xml index dbe5bba5777..b7617a841f1 100644 --- a/addons/point_of_sale/views/res_config_settings_views.xml +++ b/addons/point_of_sale/views/res_config_settings_views.xml @@ -626,12 +626,13 @@
Barcodes +
Use barcodes to scan products, customer cards, etc.
-
diff --git a/addons/pos_restaurant/data/pos_restaurant_demo.xml b/addons/pos_restaurant/data/pos_restaurant_demo.xml index 01eea53c90b..3cf6e60a368 100644 --- a/addons/pos_restaurant/data/pos_restaurant_demo.xml +++ b/addons/pos_restaurant/data/pos_restaurant_demo.xml @@ -195,7 +195,6 @@ Bar - True True True diff --git a/addons/pos_restaurant/tests/test_frontend.py b/addons/pos_restaurant/tests/test_frontend.py index 7c66e2abe89..d0c1412e300 100644 --- a/addons/pos_restaurant/tests/test_frontend.py +++ b/addons/pos_restaurant/tests/test_frontend.py @@ -18,7 +18,6 @@ class TestFrontend(odoo.tests.HttpCase): pos_config = self.env['pos.config'].create({ 'name': 'Bar', - 'barcode_nomenclature_id': self.env.ref('barcodes.default_barcode_nomenclature').id, 'module_pos_restaurant': True, 'is_table_management': True, 'iface_splitbill': True,