diff --git a/nfu_ecommerce/controllers/main.py b/nfu_ecommerce/controllers/main.py index b81cbd4..cc96bae 100644 --- a/nfu_ecommerce/controllers/main.py +++ b/nfu_ecommerce/controllers/main.py @@ -26,16 +26,18 @@ class WebsiteSale(WebsiteSale): batch_product = batch_products.filtered(lambda p: p.product_template_id == product) if batch_product: batch_product = batch_product[0] + if batch_product.open_packaging_state == "full": + state_color = "green" + elif batch_product.open_packaging_state == "last_open": + state_color = "#ff6700" + else: + state_color = "red" packaging_info[product.id] = { - "state": batch_product.open_packaging_state, + "state_color": state_color, "open_qty": batch_product.open_packaging_qty, "open_max_qty": batch_product.open_packaging_max_qty, "package_qty": batch_product.product_packaging_qty, } - else: - packaging = product.sudo()._get_nfu_packaging() - if packaging and packaging.qty > 1: - packaging_info[product.id] = {"state": False, "open_qty": 0, "package_qty": packaging.qty} new_values["packaging_info"] = packaging_info new_values["get_product_packagings"] = lambda product: lazy(lambda: packaging_info.get(product.id, False)) return new_values diff --git a/nfu_ecommerce/models/__init__.py b/nfu_ecommerce/models/__init__.py index 53fa79a..b48bb2d 100644 --- a/nfu_ecommerce/models/__init__.py +++ b/nfu_ecommerce/models/__init__.py @@ -1,3 +1,2 @@ from . import product_template from . import sale_order -from . import sale_order_line diff --git a/nfu_ecommerce/models/sale_order_line.py b/nfu_ecommerce/models/sale_order_line.py deleted file mode 100644 index 31b6b3f..0000000 --- a/nfu_ecommerce/models/sale_order_line.py +++ /dev/null @@ -1,23 +0,0 @@ -from odoo import fields, models -from odoo.tools import float_is_zero, float_round - - -class SaleOrderLine(models.Model): - _inherit = "sale.order.line" - - open_qty = fields.Float(compute="_compute_open_qty") - - def _compute_open_qty(self): - for line in self: - if line.product_packaging_id: - precision_rounding = line.product_id.uom_id.rounding - precision_digits = len(str(precision_rounding).split(".")[1]) - qty_of_last_pack = float_round( - line.batch_uom_qty % line.product_packaging_id.qty, precision_rounding=precision_rounding - ) - if not float_is_zero(qty_of_last_pack, precision_rounding=precision_rounding): - line.open_qty = round(line.product_packaging_id.qty - qty_of_last_pack, precision_digits) - else: - line.open_qty = 0.0 - else: - line.open_qty = 0.0 diff --git a/nfu_ecommerce/views/templates.xml b/nfu_ecommerce/views/templates.xml index b0041cb..dccd1d9 100644 --- a/nfu_ecommerce/views/templates.xml +++ b/nfu_ecommerce/views/templates.xml @@ -39,20 +39,6 @@ active="True" name="Show Extra Fields" > - - - - - +5/+3 - - @@ -132,16 +118,7 @@ - Open Package: / - - No open package available - - Max Ordered Quantity: + Packaging Size: @@ -151,6 +128,24 @@ + + + background-color: red; + background-color: orange; + + + + + + (+ ) + + @@ -214,6 +209,9 @@ /> + + (+ ) + @@ -230,16 +228,6 @@ - - - Open Package: / - - Max Ordered Quantity: - - Max Qty
@@ -132,16 +118,7 @@ - Open Package: / - - No open package available - - Max Ordered Quantity: + Packaging Size: @@ -151,6 +128,24 @@