diff options
Diffstat (limited to 'indoteknik_custom/models/purchasing_job_multi_update.py')
| -rw-r--r-- | indoteknik_custom/models/purchasing_job_multi_update.py | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/indoteknik_custom/models/purchasing_job_multi_update.py b/indoteknik_custom/models/purchasing_job_multi_update.py index a1b79907..e7f19e50 100644 --- a/indoteknik_custom/models/purchasing_job_multi_update.py +++ b/indoteknik_custom/models/purchasing_job_multi_update.py @@ -1,5 +1,6 @@ -from odoo import models, fields +from odoo import models, fields, _ import logging +from odoo.exceptions import AccessError, UserError, ValidationError _logger = logging.getLogger(__name__) @@ -9,14 +10,22 @@ class PurchasingJobMultiUpdate(models.TransientModel): def save_multi_update_purchasing_job(self): product_ids = self._context['product_ids'] - product = self.env['v.purchasing.job'].browse(product_ids) - product.generate_request_po() + products = self.env['v.purchasing.job'].browse(product_ids) + for product in products: + if product.status_apo == 'apo': + raise UserError('Ada Purchase Order yang statusnya APO, proses dulu') + + purchasing_job_state = self.env['purchasing.job.state'] + purchasing_job_state.create({ + 'purchasing_job_id': product.id, + 'status_apo': 'apo', + }) + apo = products.generate_request_po() return { - 'type': 'ir.actions.client', - 'tag': 'display_notification', - 'params': { - 'title': 'Notification', - 'message': 'Berhasil membuat Automatic Purchase', - 'next': {'type': 'ir.actions.act_window_close'}, - } + 'name': _('Automatic Purchase'), + 'view_mode': 'tree,form', + 'res_model': 'automatic.purchase', + 'target': 'current', + 'type': 'ir.actions.act_window', + 'domain': [('id', '=', apo)], }
\ No newline at end of file |
