From dfd4a1617d2c62b99d4bbcb6386b477874a33ebf Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 9 Jan 2024 15:03:15 +0700 Subject: multiple confirm purchase orders --- indoteknik_custom/__manifest__.py | 1 + indoteknik_custom/models/__init__.py | 1 + indoteknik_custom/models/purchase_order.py | 14 ++++++++++ .../models/purchase_order_multi_confirm.py | 22 +++++++++++++++ indoteknik_custom/security/ir.model.access.csv | 3 ++- indoteknik_custom/views/purchase_order.xml | 9 +++++++ .../views/purchase_order_multi_confirm.xml | 31 ++++++++++++++++++++++ 7 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 indoteknik_custom/models/purchase_order_multi_confirm.py create mode 100644 indoteknik_custom/views/purchase_order_multi_confirm.xml diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index d6e69718..c7e65b37 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -105,6 +105,7 @@ 'views/customer_commision.xml', 'views/wati_history.xml', 'views/purchase_order_multi_update.xml', + 'views/purchase_order_multi_confirm.xml', 'views/invoice_reklas_penjualan.xml', 'report/report.xml', 'report/report_banner_banner.xml', diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index 509fceef..e984d0dd 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -96,3 +96,4 @@ from . import commision from . import sale_advance_payment_inv from . import purchase_order_multi_update from . import invoice_reklas_penjualan +from . import purchase_order_multi_confirm diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index ba6b6c41..6a641aff 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -52,12 +52,26 @@ 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 open_form_multi_confirm_po(self): + action = self.env['ir.actions.act_window']._for_xml_id('indoteknik_custom.action_purchase_order_multi_confirm') + action['context'] = { + 'order_ids': [x.id for x in self] + } + return action + def action_multi_update_paid_status(self): for purchase in self: purchase.update({ 'status_paid_cbd': True, }) + def action_multi_confirm_po(self): + for purchase in self: + if purchase.state != 'draft': + continue + + purchase.button_confirm() + 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'] = { diff --git a/indoteknik_custom/models/purchase_order_multi_confirm.py b/indoteknik_custom/models/purchase_order_multi_confirm.py new file mode 100644 index 00000000..ac77ca54 --- /dev/null +++ b/indoteknik_custom/models/purchase_order_multi_confirm.py @@ -0,0 +1,22 @@ +from odoo import models, fields +import logging + +_logger = logging.getLogger(__name__) + + +class PurchaseOrderMultiUpdate(models.TransientModel): + _name = 'purchase.order.multi_confirm' + + def save_multi_confirm_po(self): + order_ids = self._context['order_ids'] + purchase = self.env['purchase.order'].browse(order_ids) + purchase.action_multi_confirm_po() + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': 'Notification', + 'message': 'PO berhasil di Confirm', + 'next': {'type': 'ir.actions.act_window_close'}, + } + } \ No newline at end of file diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index 8520961d..8d014b69 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -87,4 +87,5 @@ access_wati_history_line,access.wati.history.line,model_wati_history_line,,1,1,1 access_sale_advance_payment_inv,access.sale.advance.payment.inv,model_sale_advance_payment_inv,,1,1,1,1 access_purchase_order_multi_update,access.purchase.order.multi_update,model_purchase_order_multi_update,,1,1,1,1 access_invoice_reklas_penjualan,access.invoice.reklas.penjualan,model_invoice_reklas_penjualan,,1,1,1,1 -access_invoice_reklas_penjualan_line,access.invoice.reklas.penjualan.line,model_invoice_reklas_penjualan_line,,1,1,1,1 \ No newline at end of file +access_invoice_reklas_penjualan_line,access.invoice.reklas.penjualan.line,model_invoice_reklas_penjualan_line,,1,1,1,1 +access_purchase_order_multi_confirm,access.purchase.order.multi_confirm,model_purchase_order_multi_confirm,,1,1,1,1 \ No newline at end of file diff --git a/indoteknik_custom/views/purchase_order.xml b/indoteknik_custom/views/purchase_order.xml index 3a95393e..fff582b1 100755 --- a/indoteknik_custom/views/purchase_order.xml +++ b/indoteknik_custom/views/purchase_order.xml @@ -197,4 +197,13 @@ action = records.open_form_multi_update_paid_status() + + + Confirm PO + + + code + action = records.open_form_multi_confirm_po() + + \ No newline at end of file diff --git a/indoteknik_custom/views/purchase_order_multi_confirm.xml b/indoteknik_custom/views/purchase_order_multi_confirm.xml new file mode 100644 index 00000000..0d38be9e --- /dev/null +++ b/indoteknik_custom/views/purchase_order_multi_confirm.xml @@ -0,0 +1,31 @@ + + + + + Purchase Order Multi Confirm + purchase.order.multi_confirm + +
+ + + Apakah Anda Yakin Ingin Confirm PO Tersebut? + + +
+
+
+
+
+ + + Purchase Order Multi Confirm + purchase.order.multi_confirm + ir.actions.act_window + form + + new + +
+
\ No newline at end of file -- cgit v1.2.3