summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndoteknik . <it@fixcomart.co.id>2025-06-09 17:12:48 +0700
committerIndoteknik . <it@fixcomart.co.id>2025-06-09 17:12:48 +0700
commit2760b81f8a650ea95d36c125d1ab4e2feb011e44 (patch)
treeeae3c844473d60f08cf09ee2a3b410469e3502fb
parent1bc03c1482a664ffcd58f19022a40e65e21774c6 (diff)
(andri) fix berat produk jika transaksi dari website
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py2
-rwxr-xr-xindoteknik_custom/models/sale_order.py13
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: