from odoo import models, fields, _ import logging from odoo.exceptions import AccessError, UserError, ValidationError _logger = logging.getLogger(__name__) class PurchasingJobMultiUpdate(models.TransientModel): _name = 'purchasing.job.multi.update' def save_multi_update_purchasing_job(self): product_ids = self._context['product_ids'] 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'].search([ ('purchasing_job_id', '=', product.id) ]) # purchasing_job_state.unlink() vals = { 'purchasing_job_id': product.id, # Pastikan ID ini benar mapping ke ID produk 'status_apo': 'apo', } if purchasing_job_state: purchasing_job_state.write(vals) else: purchasing_job_state.create(vals) # purchasing_job_state.create({ # 'purchasing_job_id': product.id, # 'status_apo': 'apo', # }) apo = self.env['automatic.purchase'].generate_regular_purchase(products) return { 'name': _('Automatic Purchase'), 'view_mode': 'tree,form', 'res_model': 'automatic.purchase', 'target': 'current', 'type': 'ir.actions.act_window', 'domain': [('id', '=', apo)], }