summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models
diff options
context:
space:
mode:
authorMqdd <ahmadmiqdad27@gmail.com>2026-02-10 15:06:17 +0700
committerMqdd <ahmadmiqdad27@gmail.com>2026-02-10 15:06:17 +0700
commit7aadac577c7bdacf1fab54c23fe50b04fba08393 (patch)
tree56fc6feff537ecee64d842f94e2d38a0bfe49f53 /indoteknik_custom/models
parentb6d2feb969d38e1991e5afa129813da89e8a51fb (diff)
<Miqdad> fix state
Diffstat (limited to 'indoteknik_custom/models')
-rw-r--r--indoteknik_custom/models/gudang_service.py37
1 files changed, 22 insertions, 15 deletions
diff --git a/indoteknik_custom/models/gudang_service.py b/indoteknik_custom/models/gudang_service.py
index 3f483a56..4e3b2c34 100644
--- a/indoteknik_custom/models/gudang_service.py
+++ b/indoteknik_custom/models/gudang_service.py
@@ -41,7 +41,7 @@ class GudangService(models.Model):
('received_from_cust', 'Received From Customer'),
('sent_to_vendor', 'Sent to Service Vendor'),
('received_from_vendor', 'Received From Service Vendor'),
- ('delived_to_cust', 'Delivered to Customer'),
+ ('delivered_to_cust', 'Delivered to Customer'),
('cancel', 'Cancel')], default='draft', tracking=True)
cancel_reason = fields.Text('Cancel Reason', tracking=True)
@@ -88,7 +88,7 @@ class GudangService(models.Model):
@api.model
def cron_notify_onprogress_gudang_service(self):
records = self.search([
- ('state', '=', 'draft')
+ ('state', 'in', ['draft', 'received_from_customer']),
])
if records:
@@ -118,21 +118,28 @@ class GudangService(models.Model):
def action_submit(self):
for rec in self:
- rec.state = 'onprogress'
- rec.start_date = fields.Datetime.now()
- # rec.date = fields.Datetime.now()
+ if rec.state == 'draft':
+ rec.state = 'received_from_cust'
+ elif rec.state == 'received_from_cust':
+ rec.state = 'sent_to_vendor'
+ rec.start_date = fields.Datetime.now()
+ elif rec.state == 'sent_to_vendor':
+ rec.state = 'received_from_vendor'
def action_done(self):
- for rec in self:
- activities = self.env['mail.activity'].search([
- ('res_id', '=', rec.id),
- ('res_model', '=', 'gudang.service'),
- ('state', '=', 'done')
- ])
- activities.unlink()
- rec.state = 'done'
- if not rec.done_date:
- rec.done_date = fields.Datetime.now()
+ if self.state != 'received_from_vendor':
+ raise UserError("Only 'Received From Vendor' state can be set to Done")
+ else:
+ for rec in self:
+ activities = self.env['mail.activity'].search([
+ ('res_id', '=', rec.id),
+ ('res_model', '=', 'gudang.service'),
+ ('state', '=', 'delivered_to_cust'),
+ ])
+ activities.unlink()
+ rec.state = 'delivered_to_cust'
+ if not rec.done_date:
+ rec.done_date = fields.Datetime.now()
def action_draft(self):
"""Reset to draft state"""