diff --git a/barcode_multi_barcode/__init__.py b/barcode_multi_barcode/__init__.py new file mode 100644 index 000000000..f7209b171 --- /dev/null +++ b/barcode_multi_barcode/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import controllers diff --git a/barcode_multi_barcode/__manifest__.py b/barcode_multi_barcode/__manifest__.py new file mode 100644 index 000000000..24335fc8a --- /dev/null +++ b/barcode_multi_barcode/__manifest__.py @@ -0,0 +1,20 @@ +{ + "name": "Barcode Multi Barcode", + "version": "18.0.1.0.0", + "category": "Warehouse Management", + "sequence": 14, + "summary": "", + "author": "ADHOC SA", + "website": "www.adhoc.com.ar", + "license": "AGPL-3", + "images": [], + "depends": [ + "stock_barcode", + "product_multi_barcode", + ], + "data": [], + "demo": [], + "installable": True, + "auto_install": False, + "application": False, +} diff --git a/barcode_multi_barcode/controllers/__init__.py b/barcode_multi_barcode/controllers/__init__.py new file mode 100644 index 000000000..c955f5b71 --- /dev/null +++ b/barcode_multi_barcode/controllers/__init__.py @@ -0,0 +1 @@ +from . import stock_barcode diff --git a/barcode_multi_barcode/controllers/stock_barcode.py b/barcode_multi_barcode/controllers/stock_barcode.py new file mode 100644 index 000000000..e0e676dfd --- /dev/null +++ b/barcode_multi_barcode/controllers/stock_barcode.py @@ -0,0 +1,20 @@ +from odoo import http +from odoo.addons.stock_barcode.controllers.stock_barcode import StockBarcodeController +from odoo.http import request + + +class StockBarcodeControllerInherit(StockBarcodeController): + @http.route("/stock_barcode/get_specific_barcode_data", type="json", auth="user") + def get_specific_barcode_data(self, **kwargs): + res = super().get_specific_barcode_data(**kwargs) + if "product.product" in res: + barcode = kwargs.get("barcodes_by_model", {}).get("product.product") + for product in res["product.product"]: + if product["barcode_ids"]: + product["barcode"] = ( + request.env["product.barcode"] + .browse(product["barcode_ids"]) + .filtered(lambda x: x.name in barcode) + .name + ) + return res diff --git a/barcode_multi_barcode/models/__init__.py b/barcode_multi_barcode/models/__init__.py new file mode 100644 index 000000000..5c74c8c30 --- /dev/null +++ b/barcode_multi_barcode/models/__init__.py @@ -0,0 +1 @@ +from . import product_product diff --git a/barcode_multi_barcode/models/product_product.py b/barcode_multi_barcode/models/product_product.py new file mode 100644 index 000000000..87ab24ae0 --- /dev/null +++ b/barcode_multi_barcode/models/product_product.py @@ -0,0 +1,10 @@ +from odoo import models + + +class Product(models.Model): + _inherit = "product.product" + + def _get_fields_stock_barcode(self): + return super()._get_fields_stock_barcode() + [ + "barcode_ids", + ]