From 2760b81f8a650ea95d36c125d1ab4e2feb011e44 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Mon, 9 Jun 2025 17:12:48 +0700 Subject: (andri) fix berat produk jika transaksi dari website --- indoteknik_api/controllers/api_v1/sale_order.py | 2 ++ indoteknik_custom/models/sale_order.py | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 12eac2e5..e1c643e5 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -481,6 +481,7 @@ class SaleOrder(controller.Controller): 'product_available_quantity': cart['available_quantity'] }) order_line.product_id_change() + order_line.weight = order_line.product_id.weight order_line.onchange_vendor_id() order_line.price_unit = cart['price']['price'] order_line.discount = cart['price']['discount_percentage'] @@ -516,6 +517,7 @@ class SaleOrder(controller.Controller): elif sale_order._requires_approval_margin_manager(): sale_order.approval_status = 'pengajuan1' # user_cart.browse(cart_ids).unlink() + sale_order._auto_set_shipping_from_website() return self.response({ 'id': sale_order.id, 'name': sale_order.name diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index a0576ad8..f53d375b 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -844,9 +844,10 @@ class SaleOrder(models.Model): missing_weight_products = [] for line in self.order_line: - if line.weight > 0: - total_weight += line.weight * line.product_uom_qty - line.product_id.weight = line.weight + product_weight = line.product_id.weight or 0 + if product_weight > 0: + total_weight += product_weight * line.product_uom_qty + line.weight = product_weight else: missing_weight_products.append(line.product_id.name) @@ -2795,8 +2796,8 @@ class SaleOrder(models.Model): def create(self, vals): # Ensure partner details are updated when a sale order is created order = super(SaleOrder, self).create(vals) - _logger.info(f"[CREATE CONTEXT] {self.env.context}") - order._auto_set_shipping_from_website() + # _logger.info(f"[CREATE CONTEXT] {self.env.context}") + # order._auto_set_shipping_from_website() order._compute_etrts_date() order._validate_expected_ready_ship_date() # order._validate_delivery_amt() @@ -2893,7 +2894,7 @@ class SaleOrder(models.Model): "SO tidak dapat ditambahkan produk baru karena SO sudah menjadi sale order.") order._update_delivery_service_type_from_shipping_option(vals) - + if 'carrier_id' in vals: for order in self: for picking in order.picking_ids: -- cgit v1.2.3