diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-06-09 17:12:48 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-06-09 17:12:48 +0700 |
| commit | 2760b81f8a650ea95d36c125d1ab4e2feb011e44 (patch) | |
| tree | eae3c844473d60f08cf09ee2a3b410469e3502fb | |
| parent | 1bc03c1482a664ffcd58f19022a40e65e21774c6 (diff) | |
(andri) fix berat produk jika transaksi dari website
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 2 | ||||
| -rwxr-xr-x | 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: |
