diff options
Diffstat (limited to 'indoteknik_custom/models/purchase_order.py')
| -rwxr-xr-x | indoteknik_custom/models/purchase_order.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index ebadff06..dc654196 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -53,10 +53,29 @@ class PurchaseOrder(models.Model): status_paid_cbd = fields.Boolean(string='Paid Status', tracking=3, help='Field ini diisi secara manual oleh Finance AP dan hanya untuk status PO CBD') revisi_po = fields.Boolean(string='Revisi', tracking=3) + @api.model + def action_multi_cancel(self): + for purchase in self: + purchase.update({ + 'state': 'cancel', + }) + + if purchase.state == 'cancel': + purchase.update({ + 'approval_status': False, + }) + + def open_form_multi_cancel(self): + action = self.env['ir.actions.act_window']._for_xml_id('indoteknik_custom.action_po_multi_cancel') + action['context'] = { + 'purchase_ids': [x.id for x in self] + } + return action + def delete_line(self): - lines_to_delete = self.order_line.filtered(lambda line: line.delete_line) + lines_to_delete = self.order_line.filtered(lambda line: line.suggest == 'masih cukup') if not lines_to_delete: - raise UserError('Tidak ada item yang dipilih') + raise UserError('Tidak ada item yang masih cukup') lines_to_delete.unlink() def open_form_multi_confirm_po(self): |
