summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-03-18 09:22:54 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-03-18 09:22:54 +0700
commitc263662a9dd388eb9b23ae6ab8d9cd3f2bffb3f8 (patch)
tree22fcda3aa1b33aea9fadde8a108a350f2d64041f
parente9836504e2c814652165cd1a7055e91a8b6ea854 (diff)
push
-rw-r--r--indoteknik_custom/models/commision.py36
1 files changed, 23 insertions, 13 deletions
diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py
index 67cc5a62..a5518c0a 100644
--- a/indoteknik_custom/models/commision.py
+++ b/indoteknik_custom/models/commision.py
@@ -152,19 +152,21 @@ class CustomerCommision(models.Model):
commision_lines = fields.One2many('customer.commision.line', 'customer_commision_id', string='Lines', auto_join=True)
status = fields.Selection([
('draft', 'Menunggu Approval Manager Sales'),
- ('pengajuan1', 'Menunggu Approval Marketing'),
- ('pengajuan2', 'Menunggu Approval Pimpinan'),
- ('pengajuan3', 'Menunggu Approval Accounting'),
- ('pengajuan4', 'Menunggu Approval Finnence'),
+ ('pengajuan1', 'Menunggu Approval Sales'),
+ ('pengajuan2', 'Menunggu Approval Marketing'),
+ ('pengajuan3', 'Menunggu Approval Pimpinan'),
+ ('pengajuan4', 'Menunggu Approval Accounting'),
+ ('pengajuan5', 'Menunggu Approval Finance'),
('approved', 'Approved'),
('reject', 'Rejected'),
], string='Status', copy=False, readonly=True, tracking=3, index=True, track_visibility='onchange',default='draft')
last_status = fields.Selection([
('draft', 'Menunggu Approval Manager Sales'),
- ('pengajuan1', 'Menunggu Approval Marketing'),
- ('pengajuan2', 'Menunggu Approval Pimpinan'),
- ('pengajuan3', 'Menunggu Approval Accounting'),
- ('pengajuan4', 'Menunggu Approval Finnence'),
+ ('pengajuan1', 'Menunggu Approval Sales'),
+ ('pengajuan2', 'Menunggu Approval Marketing'),
+ ('pengajuan3', 'Menunggu Approval Pimpinan'),
+ ('pengajuan4', 'Menunggu Approval Accounting'),
+ ('pengajuan5', 'Menunggu Approval Finance'),
('approved', 'Approved'),
('reject', 'Rejected'),
], string='Status')
@@ -187,6 +189,7 @@ class CustomerCommision(models.Model):
], string='Payment Status', copy=False, readonly=True, tracking=3, default='pending')
note_finnance = fields.Text('Notes Finnance')
reason_reject = fields.Char(string='Reason Reaject', tracking=True, track_visibility='onchange')
+ approved_by = fields.Char(string='Approved By', tracking=True, track_visibility='always')
# add status for type of commision, fee, rebate / cashback
@@ -250,19 +253,26 @@ class CustomerCommision(models.Model):
result = super(CustomerCommision, self).create(vals)
return result
- def action_confirm_customer_commision(self):#add 2 step approval
+ def action_confirm_customer_commision(self):
if not self.status or self.status == 'draft':
self.status = 'pengajuan1'
- elif self.status == 'pengajuan1' and self.env.user.id == 19:
+ elif self.status == 'pengajuan1' and self.env.user.is_sales_manager:
self.status = 'pengajuan2'
- elif self.status == 'pengajuan2' and self.env.user.is_leader:
+ self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ elif self.status == 'pengajuan2' and self.env.user.id == 19:
self.status = 'pengajuan3'
- elif self.status == 'pengajuan3' and self.env.user.id == 1272:
+ self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ elif self.status == 'pengajuan3' and self.env.user.is_leader:
self.status = 'pengajuan4'
- elif self.status == 'pengajuan4' and self.env.user.id == 23:
+ self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ elif self.status == 'pengajuan4' and self.env.user.id == 1272:
+ self.status = 'pengajuan5'
+ self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ elif self.status == 'pengajuan5' and self.env.user.id == 23:
for line in self.commision_lines:
line.invoice_id.is_customer_commision = True
self.status = 'approved'
+ self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
else:
raise UserError('Harus di approved oleh yang bersangkutan')
return