summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/purchasing_job_multi_update.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/purchasing_job_multi_update.py')
-rw-r--r--indoteknik_custom/models/purchasing_job_multi_update.py29
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