diff options
Diffstat (limited to 'indoteknik_custom/models')
| -rwxr-xr-x | indoteknik_custom/models/__init__.py | 1 | ||||
| -rwxr-xr-x | indoteknik_custom/models/purchase_order.py | 13 | ||||
| -rw-r--r-- | indoteknik_custom/models/purchase_order_multi_update.py | 22 |
3 files changed, 36 insertions, 0 deletions
diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index 50885f56..c6f61ffa 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -94,3 +94,4 @@ from . import account_bank_statement from . import stock_warehouse_orderpoint from . import commision from . import sale_advance_payment_inv +from . import purchase_order_multi_update diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 285c5a95..6641e204 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -52,6 +52,19 @@ class PurchaseOrder(models.Model): responsible_ids = fields.Many2many('res.users', string='Responsibles', compute='_compute_responsibles') 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') + def action_multi_update_paid_status(self): + for purchase in self: + purchase.update({ + 'status_paid_cbd': True, + }) + + def open_form_multi_update_paid_status(self): + action = self.env['ir.actions.act_window']._for_xml_id('indoteknik_custom.action_purchase_order_multi_update') + action['context'] = { + 'purchase_ids': [x.id for x in self] + } + return action + def _compute_responsibles(self): for purchase in self: resposible_ids = [] diff --git a/indoteknik_custom/models/purchase_order_multi_update.py b/indoteknik_custom/models/purchase_order_multi_update.py new file mode 100644 index 00000000..aab46de8 --- /dev/null +++ b/indoteknik_custom/models/purchase_order_multi_update.py @@ -0,0 +1,22 @@ +from odoo import models, fields +import logging + +_logger = logging.getLogger(__name__) + + +class PurchaseOrderMultiUpdate(models.TransientModel): + _name = 'purchase.order.multi_update' + + def save_multi_update_paid_status(self): + purchase_ids = self._context['purchase_ids'] + purchase = self.env['purchase.order'].browse(purchase_ids) + purchase.action_multi_update_paid_status() + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': 'Notification', + 'message': 'Paid Status berhasil diubah', + 'next': {'type': 'ir.actions.act_window_close'}, + } + }
\ No newline at end of file |
