diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-07-13 09:50:57 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-07-13 09:50:57 +0700 |
| commit | 32bf7b115ec71e72d9cde58bfa3c0304c4b1ffcb (patch) | |
| tree | 19257db60cdd44a5527825825ab0032a2693f74d /indoteknik_custom/models/purchase_order.py | |
| parent | 3085bfa4333cbc99ed4a0e432c8313cf7009cd2a (diff) | |
| parent | 604ef36b09c2eb2cf89f5b592ab775ba87e0ce88 (diff) | |
Merge remote-tracking branch 'origin/staging' into real-stock
Diffstat (limited to 'indoteknik_custom/models/purchase_order.py')
| -rwxr-xr-x | indoteknik_custom/models/purchase_order.py | 13 |
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 |
