summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-10-15 12:08:34 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-10-15 12:08:34 +0700
commitb6bf4c8b58b9311c6a6cf7f745cb42b025159759 (patch)
treeb72f906ee03611acbd0d7eacfb29442469769d03
parent4502ebb5452b150b5e36175bb7900bace760e9f4 (diff)
<Miqdad> SO line onchange vendor id
-rwxr-xr-xindoteknik_custom/models/sale_order.py18
-rw-r--r--indoteknik_custom/models/sale_order_line.py46
2 files changed, 32 insertions, 32 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 3bd1ca59..a5e2f7c4 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -3230,10 +3230,10 @@ class SaleOrder(models.Model):
# order._auto_set_shipping_from_website()
order._compute_etrts_date()
order._validate_expected_ready_ship_date()
- for line in order.order_line:
- updated_vals = line._update_purchase_info()
- if updated_vals:
- line.write(updated_vals)
+ # for line in order.order_line:
+ # updated_vals = line._update_purchase_info()
+ # if updated_vals:
+ # line.write(updated_vals)
# order._validate_delivery_amt()
# order._check_total_margin_excl_third_party()
# order._update_partner_details()
@@ -3365,11 +3365,11 @@ class SaleOrder(models.Model):
if any(field in vals for field in ["order_line", "client_order_ref"]):
self._calculate_etrts_date()
- for order in self:
- for line in order.order_line:
- updated_vals = line._update_purchase_info()
- if updated_vals:
- line.write(updated_vals)
+ # for order in self:
+ # for line in order.order_line:
+ # updated_vals = line._update_purchase_info()
+ # if updated_vals:
+ # line.write(updated_vals)
return res
diff --git a/indoteknik_custom/models/sale_order_line.py b/indoteknik_custom/models/sale_order_line.py
index 12e7e6f9..bd2600ae 100644
--- a/indoteknik_custom/models/sale_order_line.py
+++ b/indoteknik_custom/models/sale_order_line.py
@@ -247,29 +247,29 @@ class SaleOrderLine(models.Model):
margin_per_item = sales_price - purchase_price
line.item_before_margin = margin_per_item
- # @api.onchange('vendor_id')
- # def onchange_vendor_id(self):
- # # TODO : need to change this logic @stephan
- # if not self.product_id or self.product_id.type == 'service':
- # return
- # elif self.product_id.categ_id.id == 34: # finish good / manufacturing only
- # cost = self.product_id.standard_price
- # self.purchase_price = cost
- # elif self.product_id.x_manufacture.override_vendor_id:
- # # purchase_price = self.env['purchase.pricelist'].search(
- # # [('vendor_id', '=', self.product_id.x_manufacture.override_vendor_id.id),
- # # ('product_id', '=', self.product_id.id)],
- # # limit=1, order='count_trx_po desc, count_trx_po_vendor desc')
- # price, taxes, vendor_id = self._get_purchase_price_by_vendor(self.product_id, self.vendor_id)
- # self.purchase_price = price
- # self.purchase_tax_id = taxes
- # # else:
- # # purchase_price = self.env['purchase.pricelist'].search(
- # # [('vendor_id', '=', self.vendor_id.id), ('product_id', '=', self.product_id.id)],
- # # limit=1, order='count_trx_po desc, count_trx_po_vendor desc')
- # # price, taxes = self._get_valid_purchase_price(purchase_price)
- # # self.purchase_price = price
- # # self.purchase_tax_id = taxes
+ @api.onchange('vendor_id')
+ def onchange_vendor_id(self):
+ # TODO : need to change this logic @stephan
+ if not self.product_id or self.product_id.type == 'service':
+ return
+ elif self.product_id.categ_id.id == 34: # finish good / manufacturing only
+ cost = self.product_id.standard_price
+ self.purchase_price = cost
+ elif self.product_id.x_manufacture.override_vendor_id:
+ # purchase_price = self.env['purchase.pricelist'].search(
+ # [('vendor_id', '=', self.product_id.x_manufacture.override_vendor_id.id),
+ # ('product_id', '=', self.product_id.id)],
+ # limit=1, order='count_trx_po desc, count_trx_po_vendor desc')
+ price, taxes, vendor_id = self._get_purchase_price_by_vendor(self.product_id, self.vendor_id)
+ self.purchase_price = price
+ self.purchase_tax_id = taxes
+ # else:
+ # purchase_price = self.env['purchase.pricelist'].search(
+ # [('vendor_id', '=', self.vendor_id.id), ('product_id', '=', self.product_id.id)],
+ # limit=1, order='count_trx_po desc, count_trx_po_vendor desc')
+ # price, taxes = self._get_valid_purchase_price(purchase_price)
+ # self.purchase_price = price
+ # self.purchase_tax_id = taxes
# def _calculate_selling_price(self):
# rec_purchase_price, rec_taxes, rec_vendor_id = self._get_purchase_price(self.product_id)