summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-03-25 15:15:05 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-03-25 15:15:05 +0700
commit459790b31fac1a789efcb946f26938b60b123aab (patch)
tree60e9556464f7230a16d60d98f38010661853f3f1
parent2b34ec96718d693d7a322939b23bda2fe64d8c80 (diff)
add field date_approve and position
-rw-r--r--indoteknik_custom/models/commision.py27
-rw-r--r--indoteknik_custom/views/customer_commision.xml3
2 files changed, 22 insertions, 8 deletions
diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py
index d6b170d2..f94d3c7a 100644
--- a/indoteknik_custom/models/commision.py
+++ b/indoteknik_custom/models/commision.py
@@ -156,7 +156,6 @@ class CustomerCommision(models.Model):
('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')
@@ -165,7 +164,6 @@ class CustomerCommision(models.Model):
('pengajuan2', 'Menunggu Approval Marketing'),
('pengajuan3', 'Menunggu Approval Pimpinan'),
('pengajuan4', 'Menunggu Approval Accounting'),
- ('pengajuan5', 'Menunggu Approval Finance'),
('approved', 'Approved'),
('reject', 'Rejected'),
], string='Status')
@@ -194,6 +192,18 @@ class CustomerCommision(models.Model):
grouped_so_number = fields.Char(string='Group SO Number', compute='_compute_grouped_numbers')
grouped_invoice_number = fields.Char(string='Group Invoice Number', compute='_compute_grouped_numbers')
+ sales_id = fields.Many2one('res.users', string="Sales", tracking=True)
+
+ date_approved_sales = fields.Datetime(string="Date Approved Sales", tracking=True)
+ date_approved_marketing = fields.Datetime(string="Date Approved Marketing", tracking=True)
+ date_approved_pimpinan = fields.Datetime(string="Date Approved Pimpinan", tracking=True)
+ date_approved_accounting = fields.Datetime(string="Date Approved Accounting", tracking=True)
+
+ position_sales = fields.Char(string="Position Sales", tracking=True)
+ position_marketing = fields.Char(string="Position Marketing", tracking=True)
+ position_pimpinan = fields.Char(string="Position Pimpinan", tracking=True)
+ position_accounting = fields.Char(string="Position Accounting", tracking=True)
+
def compute_delivery_amt_text(self):
tb = Terbilang()
@@ -283,25 +293,31 @@ class CustomerCommision(models.Model):
return result
def action_confirm_customer_commision(self):
+ now = datetime.utcnow()
if not self.status or self.status == 'draft':
self.status = 'pengajuan1'
elif self.status == 'pengajuan1' and self.env.user.is_sales_manager:
self.status = 'pengajuan2'
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ self.date_approved_sales = now
+ self.position_sales = 'Sales Manager'
elif self.status == 'pengajuan2' and self.env.user.id == 19:
self.status = 'pengajuan3'
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ self.date_approved_marketing = now
+ self.position_marketing = 'Marketing Manager'
elif self.status == 'pengajuan3' and self.env.user.is_leader:
self.status = 'pengajuan4'
self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name
+ self.date_approved_pimpinan = now
+ self.position_pimpinan = 'Pimpinan'
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
+ self.date_approved_accounting = now
+ self.position_accounting = 'Accounting'
else:
raise UserError('Harus di approved oleh yang bersangkutan')
return
@@ -320,7 +336,6 @@ class CustomerCommision(models.Model):
for commision in self:
commision.status = commision.last_status if commision.last_status else 'draft'
-
def action_confirm_customer_payment(self):
if self.status != 'approved':
raise UserError('Commision harus di approve terlebih dahulu sebelum di konfirmasi pembayarannya')
diff --git a/indoteknik_custom/views/customer_commision.xml b/indoteknik_custom/views/customer_commision.xml
index 1d3f48fc..a5f0e07f 100644
--- a/indoteknik_custom/views/customer_commision.xml
+++ b/indoteknik_custom/views/customer_commision.xml
@@ -55,8 +55,7 @@
<button name="action_reject"
string="Reject"
attrs="{'invisible': [('status', 'in', ['approved','reject'])]}"
- type="object"
- class="oe_highlight"/>
+ type="object"/>
<button name="button_draft"
string="Reset to Draft"
attrs="{'invisible': [('status', '!=', 'reject')]}"