diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-08-04 13:57:34 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-08-04 13:57:34 +0700 |
| commit | 216fe79c11dace298b260be946f14a3af5b5a929 (patch) | |
| tree | a927f5b2785ffb4e0413c8be653f38662f68bfea | |
| parent | 8ecb66beff5da35886d821d373e9a5dd7fe5396b (diff) | |
(andri) add field approved by
| -rw-r--r-- | indoteknik_custom/models/down_payment.py | 10 | ||||
| -rw-r--r-- | indoteknik_custom/views/down_payment.xml | 1 | ||||
| -rw-r--r-- | indoteknik_custom/views/down_payment_realization.xml | 3 |
3 files changed, 13 insertions, 1 deletions
diff --git a/indoteknik_custom/models/down_payment.py b/indoteknik_custom/models/down_payment.py index 67172dfa..1fbac44a 100644 --- a/indoteknik_custom/models/down_payment.py +++ b/indoteknik_custom/models/down_payment.py @@ -84,6 +84,8 @@ class DownPayment(models.Model): position_ap = fields.Char(string='Position AP', tracking=True) position_pimpinan = fields.Char(string='Position Pimpinan', tracking=True) + approved_by = fields.Char(string='Approved By', tracking=True, track_visibility='always') + departement_type = fields.Selection([ ('sales', 'Sales'), ('merchandiser', 'Merchandiser'), @@ -351,6 +353,7 @@ class DownPayment(models.Model): if self.env.user.id != approver_id: raise UserError("Hanya approver departement yang berhak menyetujui tahap ini.") rec.name_approval_departement = self.env.user.name + rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_departement rec.date_approved_department = now # Mapping posisi berdasarkan departement_type @@ -377,6 +380,7 @@ class DownPayment(models.Model): if self.env.user.id not in ap_user_ids: raise UserError("Hanya AP yang berhak menyetujui tahap ini.") rec.name_approval_ap = self.env.user.name + rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_ap rec.email_ap = self.env.user.email rec.date_approved_ap = now rec.position_ap = 'Finance AP' @@ -391,6 +395,7 @@ class DownPayment(models.Model): if self.env.user.id != 7: # ID user Pimpinan raise UserError("Hanya Pimpinan yang berhak menyetujui tahap ini.") rec.name_approval_pimpinan = self.env.user.name + rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_pimpinan rec.date_approved_pimpinan = now rec.position_pimpinan = 'Pimpinan' rec.status = 'approved' @@ -649,6 +654,8 @@ class RealizationDownPayment(models.Model): position_ap = fields.Char(string='Position AP', tracking=True) position_pimpinan = fields.Char(string='Position Pimpinan', tracking=True) + approved_by = fields.Char(string='Approved By', tracking=True, track_visibility='always') + status = fields.Selection([ ('pengajuan1', 'Menunggu Approval Departement'), ('pengajuan2', 'Menunggu Pengecekan AP'), @@ -850,6 +857,7 @@ class RealizationDownPayment(models.Model): if self.env.user.id != approver_id: raise UserError("Hanya approver departement yang berhak menyetujui tahap ini.") rec.name_approval_departement = self.env.user.name + rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_departement rec.date_approved_department = now # Mapping posisi berdasarkan departement_type @@ -876,6 +884,7 @@ class RealizationDownPayment(models.Model): if self.env.user.id not in ap_user_ids: raise UserError("Hanya AP yang berhak menyetujui tahap ini.") rec.name_approval_ap = self.env.user.name + rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_ap rec.date_approved_ap = now rec.position_ap = 'Finance AP' rec.status = 'pengajuan3' @@ -889,6 +898,7 @@ class RealizationDownPayment(models.Model): if self.env.user.id != 7: # ID user Pimpinan raise UserError("Hanya Pimpinan yang berhak menyetujui tahap ini.") rec.name_approval_pimpinan = self.env.user.name + rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_pimpinan rec.date_approved_pimpinan = now rec.position_pimpinan = 'Pimpinan' rec.status = 'approved' diff --git a/indoteknik_custom/views/down_payment.xml b/indoteknik_custom/views/down_payment.xml index 3c8d007e..11a0a672 100644 --- a/indoteknik_custom/views/down_payment.xml +++ b/indoteknik_custom/views/down_payment.xml @@ -78,6 +78,7 @@ <field name="date_back_to_office"/> <field name="estimated_return_date" readonly="1" widget="badge"/> <field name="days_remaining" readonly="1" widget="badge"/> + <field name="approved_by" readonly="1"/> <field name="detail_note" attrs="{'readonly': [('status', '=', 'approved')]}"/> </group> diff --git a/indoteknik_custom/views/down_payment_realization.xml b/indoteknik_custom/views/down_payment_realization.xml index c0181fcf..947c3cd1 100644 --- a/indoteknik_custom/views/down_payment_realization.xml +++ b/indoteknik_custom/views/down_payment_realization.xml @@ -17,7 +17,7 @@ type="object" string="AP Only"/> <field name="status" widget="statusbar" - statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,approved" + statusbar_visible="pengajuan1,pengajuan2,pengajuan3,approved" statusbar_colors='{"reject":"red"}' readonly="1"/> </header> @@ -47,6 +47,7 @@ <field name="title" required="1"/> <field name="goals" required="1"/> <field name="related" required="1"/> + <field name="approved_by" readonly="1"/> </group> <group> <field name="done_status" |
