summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-07-11 15:40:38 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-07-11 15:40:38 +0700
commitb298a37963027a08e0046629bbcb795effa58e3a (patch)
tree6d2a1b2cbfd03c5e443eaef485d0fd58066dfb7b
parent887db07ff8a79fdbaeddc07b6b09ff169f428a6c (diff)
view and add new status on approval payment term
-rw-r--r--indoteknik_custom/models/approval_payment_term.py10
-rw-r--r--indoteknik_custom/views/approval_payment_term.xml4
2 files changed, 11 insertions, 3 deletions
diff --git a/indoteknik_custom/models/approval_payment_term.py b/indoteknik_custom/models/approval_payment_term.py
index 6e1c8103..cd54b53a 100644
--- a/indoteknik_custom/models/approval_payment_term.py
+++ b/indoteknik_custom/models/approval_payment_term.py
@@ -31,7 +31,13 @@ class ApprovalPaymentTerm(models.Model):
approve_leader = fields.Boolean('Approve Pimpinan', tracking=True, copy=False)
reason = fields.Text('Reason', tracking=True)
approve_date = fields.Datetime('Approve Date')
- state = fields.Selection([('waiting_approval', 'Waiting Approval'), ('approved', 'Approved'), ('rejected', 'Rejected')], default='waiting_approval', tracking=True)
+ state = fields.Selection([
+ ('waiting_approval_sales_manager', 'Waiting Approval Sales Manager'),
+ ('waiting_approval_finance', 'Waiting Approval Finance'),
+ ('waiting_approval_leader', 'Waiting Approval Leader'),
+ ('approved', 'Approved'),
+ ('rejected', 'Rejected')],
+ default='waiting_approval_sales_manager', tracking=True)
reason_reject = fields.Selection([('reason1', 'Reason 1'), ('reason2', 'Reason 2'), ('reason3', 'Reason 3')], string='Reason Reject', tracking=True)
sale_order_ids = fields.Many2many(
'sale.order',
@@ -77,10 +83,12 @@ class ApprovalPaymentTerm(models.Model):
if (not user.id ==7 and user.id == 19 and not self.approve_sales_manager) or is_it:
self.approve_sales_manager = True
+ self.state = 'waiting_approval_finance'
return
if (not user.id ==7 and user.id == 688 and not self.approve_finance) or is_it:
self.approve_finance = True
+ self.state = 'waiting_approval_leader'
return
if (user.id == 7 and self.approve_finance) or is_it:
diff --git a/indoteknik_custom/views/approval_payment_term.xml b/indoteknik_custom/views/approval_payment_term.xml
index 8d1d01e8..373637a2 100644
--- a/indoteknik_custom/views/approval_payment_term.xml
+++ b/indoteknik_custom/views/approval_payment_term.xml
@@ -9,18 +9,18 @@
<field name="partner_id"/>
<field name="parent_id"/>
<field name="property_payment_term_id"/>
+ <field name="create_date" optional="hide"/>
<field name="approve_date" optional="hide"/>
<field name="approve_sales_manager" optional="hide"/>
<field name="approve_finance" optional="hide"/>
<field name="approve_leader" optional="hide"/>
- <field name="create_date" optional="hide"/>
<field name="create_uid" optional="hide"/>
<field name="sale_order_ids" optional="hide" widget="many2many_tags"/>
<field name="total" optional="hide"/>
<field name="grand_total" optional="hide"/>
<field name="state" widget="badge" decoration-danger="state == 'rejected'"
decoration-success="state == 'approved'"
- decoration-info="state == 'waiting_approval'"/>
+ decoration-info="state in ['waiting_approval_sales_manager', 'waiting_approval_finance', 'waiting_approval_leader']"/>
</tree>
</field>
</record>