From 46bf4d5c1a74aabeb677ba03cf08b6c954fc2840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20G=C3=B6ttsch?= Date: Sun, 21 Jul 2024 01:25:19 +0200 Subject: [PATCH] [add] unfinisched packages warning --- .vscode/launch.json | 2 +- nfu_sale_order_packaging/__manifest__.py | 6 ++- .../models/sale_order_batch_product.py | 11 ++++- .../views/sale_order_batch_product_views.xml | 13 ++++++ sale_order_batch/__manifest__.py | 1 + .../models/sale_order_batch_product.py | 5 ++- .../views/sale_order_batch_product_views.xml | 42 +++++++++++++++++++ .../views/sale_order_batch_views.xml | 2 +- 8 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 nfu_sale_order_packaging/views/sale_order_batch_product_views.xml create mode 100644 sale_order_batch/views/sale_order_batch_product_views.xml 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 @@ - +