summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriFP <113114423+andrifp@users.noreply.github.com>2025-09-15 11:48:33 +0700
committerAndriFP <113114423+andrifp@users.noreply.github.com>2025-09-15 11:48:33 +0700
commit2b61b810f5b12f32bf837ab34c12d832d0be12eb (patch)
treedfc3f4c2bc5f945760eeedadebbc2f97140dfea1
parentf60b692889f78b0f0a71316bb4d63820b18a1f7d (diff)
(andri) edit status dan rev validasi
-rw-r--r--indoteknik_custom/models/letter_receivable.py13
-rw-r--r--indoteknik_custom/views/letter_receivable.xml8
2 files changed, 12 insertions, 9 deletions
diff --git a/indoteknik_custom/models/letter_receivable.py b/indoteknik_custom/models/letter_receivable.py
index 17963232..fe598e50 100644
--- a/indoteknik_custom/models/letter_receivable.py
+++ b/indoteknik_custom/models/letter_receivable.py
@@ -31,8 +31,8 @@ class SuratPiutang(models.Model):
line_ids = fields.One2many("surat.piutang.line", "surat_id", string="Invoice Lines")
state = fields.Selection([
("draft", "Draft"),
- ("approval_pimpinan", "Menunggu Approval Pimpinan"),
- ("sent", "Sent")
+ ("waiting_approval", "Menunggu Approval"),
+ ("sent", "Approved & Sent")
], default="draft", tracking=True)
send_date = fields.Datetime(string="Tanggal Kirim", tracking=True)
seven_days_after_sent_date = fields.Char(string="7 Hari Setelah Tanggal Kirim", tracking=True)
@@ -128,8 +128,11 @@ class SuratPiutang(models.Model):
# if self.env.user.id not in pimpinan_user_ids:
# raise UserError("Hanya Pimpinan yang berhak menyetujui tahap ini.")
for rec in self:
- if rec.state == "approval_pimpinan":
- # rec.state = "sent"
+ if rec.state == "waiting_approval":
+ if rec.perihal in ("sp1", "sp2", "sp3"):
+ if self.env.user.id not in pimpinan_user_ids:
+ raise UserError("Hanya Pimpinan yang berhak menyetujui surat peringatan piutang (SP1, SP2, SP3).")
+ rec.state = "sent"
now_utc = now_wib.astimezone(pytz.UTC).replace(tzinfo=None)
rec.send_date = now_utc
rec.action_send_letter()
@@ -340,7 +343,7 @@ class SuratPiutang(models.Model):
tahun = today.strftime("%y")
vals["name"] = f"{seq}/LO/FAT/IDG/{bulan_romawi}/{tahun}"
- vals["state"] = "approval_pimpinan"
+ vals["state"] = "waiting_approval"
return super().create(vals)
class SuratPiutangLine(models.Model):
diff --git a/indoteknik_custom/views/letter_receivable.xml b/indoteknik_custom/views/letter_receivable.xml
index 44caadcb..334e83c4 100644
--- a/indoteknik_custom/views/letter_receivable.xml
+++ b/indoteknik_custom/views/letter_receivable.xml
@@ -10,7 +10,7 @@
<field name="perihal"/>
<field name="state" widget="badge"
decoration-danger="state == 'draft'"
- decoration-warning="state == 'approval_pimpinan'"
+ decoration-warning="state == 'waiting_approval'"
decoration-success="state == 'sent'"/>
<field name="send_date"/>
<!-- <field name="line_ids" widget="one2many_list"/> -->
@@ -25,7 +25,7 @@
<field name="arch" type="xml">
<form string="Surat Piutang">
<header>
- <field name="state" widget="statusbar" statusbar_visible="draft,approval_pimpinan,sent"/>
+ <field name="state" widget="statusbar" statusbar_visible="draft,waiting_approval,sent"/>
<button name="action_approve" type="object" string="Approval &amp; Send" class="btn-primary"/>
<button name="action_send_letter" type="object" string="Email Send" class="btn-primary"/>
</header>
@@ -38,8 +38,8 @@
<div class="alert alert-info"
role="alert"
style="height: 40px; margin-bottom:0px;"
- attrs="{'invisible':[('state', '!=', 'approval_pimpinan')]}">
- <strong>Info!</strong> Surat piutang telah diajukan &amp; surat otomatis terkirim bila telah di Approved Pimpinan.
+ attrs="{'invisible':[('state', '!=', 'waiting_approval')]}">
+ <strong>Info!</strong> Surat piutang telah diajukan &amp; surat otomatis terkirim bila telah di Approved (khusus SP1,SP2,SP3 yang bisa approved hanya pimpinan).
</div>
<div class="alert alert-success"
role="alert"