summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-07-03 10:54:09 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-07-03 10:54:09 +0700
commitcd8a7d922a93944c1d79cf0576523554f6a8bc0f (patch)
tree90c8239395a0a0b1f69d9a1b25a7831d7aac135a
parent7be7fa7270fba7bca47a1838ef569710875960f0 (diff)
change request purchase_price and purchase_tax_id sale order line
-rw-r--r--indoteknik_custom/models/sale_order_line.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/indoteknik_custom/models/sale_order_line.py b/indoteknik_custom/models/sale_order_line.py
index d362d573..1fee041d 100644
--- a/indoteknik_custom/models/sale_order_line.py
+++ b/indoteknik_custom/models/sale_order_line.py
@@ -115,25 +115,33 @@ class SaleOrderLine(models.Model):
[('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')
- self.purchase_price = self._get_valid_purchase_price(purchase_price)
+ price, taxes = self._get_valid_purchase_price(purchase_price)
+ 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')
- self.purchase_price = self._get_valid_purchase_price(purchase_price)
- self.purchase_tax_id = 22
+ price, taxes = self._get_valid_purchase_price(purchase_price)
+ self.purchase_price = price
+ self.purchase_tax_id = taxes
def _get_valid_purchase_price(self, purchase_price):
price = 0
+ taxes = ''
human_last_update = purchase_price.human_last_update or datetime.min
system_last_update = purchase_price.system_last_update or datetime.min
+
+ if purchase_price.taxes_product_id.type_tax_use == 'purchase':
+ price = purchase_price.product_price
+ taxes = purchase_price.taxes_product_id.id
if system_last_update > human_last_update:
- price = purchase_price.system_price
- else:
- price = purchase_price.product_price
+ if purchase_price.taxes_system_id.type_tax_use == 'purchase':
+ price = purchase_price.system_price
+ taxes = purchase_price.taxes_system_id.id
- return price or 0
+ return price, taxes
@api.onchange('product_id')
def product_id_change(self):
@@ -148,7 +156,8 @@ class SaleOrderLine(models.Model):
query, limit=1, order='count_trx_po desc, count_trx_po_vendor desc')
line.vendor_id = purchase_price.vendor_id
line.tax_id = line.order_id.sales_tax_id
- line.purchase_price = line._get_valid_purchase_price(purchase_price)
+ price, taxes = line._get_valid_purchase_price(purchase_price)
+ line.purchase_price = price
line_name = ('[' + line.product_id.default_code + ']' if line.product_id.default_code else '') + ' ' + (line.product_id.name if line.product_id.name else '') + ' ' + \
('(' + line.product_id.product_template_attribute_value_ids.name + ')' if line.product_id.product_template_attribute_value_ids.name else '') + ' ' + \