diff --git a/.vscode/launch.json b/.vscode/launch.json
index 874d31d..68c8234 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -13,7 +13,7 @@
"--addons-path=${config:odoo.addons_path},${workspaceFolder}",
"--limit-time-real=0",
"--limit-time-cpu=0",
- "--init=sale_order_batch",
+ "--update=sale_order_batch,nfu_sale_order_packaging",
// "--update=",
"--dev=xml"
]
diff --git a/nfu_sale_order_packaging/__manifest__.py b/nfu_sale_order_packaging/__manifest__.py
index 8e81c8b..81a61c0 100644
--- a/nfu_sale_order_packaging/__manifest__.py
+++ b/nfu_sale_order_packaging/__manifest__.py
@@ -6,6 +6,10 @@
"category": "Stock",
"version": "16.0.0.0.1",
"depends": ["sale", "sale_order_batch"],
- "data": ["views/sale_order_views.xml", "views/sale_order_batch_views.xml"],
+ "data": [
+ "views/sale_order_views.xml",
+ "views/sale_order_batch_views.xml",
+ "views/sale_order_batch_product_views.xml",
+ ],
"license": "LGPL-3",
}
diff --git a/nfu_sale_order_packaging/models/sale_order_batch_product.py b/nfu_sale_order_packaging/models/sale_order_batch_product.py
index 06d9862..aef5f9d 100644
--- a/nfu_sale_order_packaging/models/sale_order_batch_product.py
+++ b/nfu_sale_order_packaging/models/sale_order_batch_product.py
@@ -1,9 +1,18 @@
-from odoo import api, models
+from odoo import api, fields, models
class SaleOrderBatchProduct(models.Model):
_inherit = "sale.order.batch.product"
+ open_packaging_qty = fields.Float(compute="_compute_open_packagin_qty")
+
+ @api.depends("sale_order_line_ids.product_uom_qty")
+ def _compute_open_packagin_qty(self):
+ for product in self:
+ product.open_packaging_qty = (
+ sum(product.sale_order_line_ids.mapped("product_uom_qty")) % product.product_packaging_qty
+ )
+
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
diff --git a/nfu_sale_order_packaging/views/sale_order_batch_product_views.xml b/nfu_sale_order_packaging/views/sale_order_batch_product_views.xml
new file mode 100644
index 0000000..3542a6d
--- /dev/null
+++ b/nfu_sale_order_packaging/views/sale_order_batch_product_views.xml
@@ -0,0 +1,13 @@
+
+
+
+ sale.order.batch.product.form.nfu
+ sale.order.batch.product
+
+
+
+
+
+
+
+
diff --git a/sale_order_batch/__manifest__.py b/sale_order_batch/__manifest__.py
index 2c1b66b..b88156b 100644
--- a/sale_order_batch/__manifest__.py
+++ b/sale_order_batch/__manifest__.py
@@ -9,6 +9,7 @@
"data": [
"data/ir_sequence_data.xml",
"views/sale_order_batch_views.xml",
+ "views/sale_order_batch_product_views.xml",
"views/sale_order_views.xml",
"views/sale_menus.xml",
"security/ir.model.access.csv",
diff --git a/sale_order_batch/models/sale_order_batch_product.py b/sale_order_batch/models/sale_order_batch_product.py
index 60a7d86..52d02ac 100644
--- a/sale_order_batch/models/sale_order_batch_product.py
+++ b/sale_order_batch/models/sale_order_batch_product.py
@@ -14,14 +14,15 @@ class SaleOrderBatchProduct(models.Model):
ondelete="cascade",
index=True,
copy=False,
+ readonly=True,
)
- product_id = fields.Many2one(comodel_name="product.product", required=True, readonly=False)
+ product_id = fields.Many2one(comodel_name="product.product", required=True, readonly=True)
product_template_id = fields.Many2one(
"product.template", related="product_id.product_tmpl_id", string="Product Template"
)
- sale_order_line_ids = fields.Many2many("sale.order.line", compute="_compute_sale_order_line_ids")
+ sale_order_line_ids = fields.Many2many("sale.order.line", compute="_compute_sale_order_line_ids", store=True)
product_uom_category_id = fields.Many2one(related="product_id.uom_id.category_id", depends=["product_id"])
product_uom_qty = fields.Float(compute="_compute_uom_qty")
product_uom = fields.Many2one(related="product_id.uom_id")
diff --git a/sale_order_batch/views/sale_order_batch_product_views.xml b/sale_order_batch/views/sale_order_batch_product_views.xml
new file mode 100644
index 0000000..9b406ef
--- /dev/null
+++ b/sale_order_batch/views/sale_order_batch_product_views.xml
@@ -0,0 +1,42 @@
+
+
+
+ sale.order.batch.product.form
+ sale.order.batch.product
+
+
+
+
+
diff --git a/sale_order_batch/views/sale_order_batch_views.xml b/sale_order_batch/views/sale_order_batch_views.xml
index d4fdabe..9370be8 100644
--- a/sale_order_batch/views/sale_order_batch_views.xml
+++ b/sale_order_batch/views/sale_order_batch_views.xml
@@ -106,7 +106,7 @@
-
+