summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/purchase_order.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-07-13 09:50:57 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-07-13 09:50:57 +0700
commit32bf7b115ec71e72d9cde58bfa3c0304c4b1ffcb (patch)
tree19257db60cdd44a5527825825ab0032a2693f74d /indoteknik_custom/models/purchase_order.py
parent3085bfa4333cbc99ed4a0e432c8313cf7009cd2a (diff)
parent604ef36b09c2eb2cf89f5b592ab775ba87e0ce88 (diff)
Merge remote-tracking branch 'origin/staging' into real-stock
Diffstat (limited to 'indoteknik_custom/models/purchase_order.py')
-rwxr-xr-xindoteknik_custom/models/purchase_order.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py
index 13ff2931..7091bb72 100755
--- a/indoteknik_custom/models/purchase_order.py
+++ b/indoteknik_custom/models/purchase_order.py
@@ -191,6 +191,9 @@ class PurchaseOrder(models.Model):
raise UserError("Beda Margin dengan Sales, harus approval Manager")
if not self.sale_order_id and not self.env.user.is_purchasing_manager and not self.env.user.is_leader:
raise UserError("Tidak ada link dengan SO, harus approval Manager")
+ for line in self.order_line:
+ if not line.product_id.purchase_ok:
+ raise UserError("Terdapat barang yang tidak bisa di proses")
self.approval_status = 'approved'
self.po_status = 'menunggu'
@@ -212,6 +215,16 @@ class PurchaseOrder(models.Model):
else:
self.approval_status = 'pengajuan1'
+ def re_calculate(self):
+ for line in self.order_line:
+ sale_order_line = self.env['sale.order.line'].search([
+ ('product_id', '=', line.product_id.id),
+ ('order_id', '=', line.order_id.sale_order_id.id)
+ ], limit=1, order='price_reduce_taxexcl')
+ for so_line in sale_order_line:
+ unit_price = line.price_unit
+ so_line.purchase_price = unit_price
+
def button_cancel(self):
res = super(PurchaseOrder, self).button_cancel()
self.approval_status = False