summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-02-11 16:40:46 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-02-11 16:40:46 +0700
commitee106a0245fe05c3b5341e7c0f2606d7c5adb8de (patch)
tree0099cdbc9f9e97bed38b9e87681fc9fb152f3518
parenteeff963c94f4d933b89308f40b387fd67ef881c4 (diff)
<iman> add tracking reason reject and reset to draft
-rw-r--r--indoteknik_custom/models/user_pengajuan_tempo_request.py12
-rw-r--r--indoteknik_custom/views/user_pengajuan_tempo_request.xml6
2 files changed, 16 insertions, 2 deletions
diff --git a/indoteknik_custom/models/user_pengajuan_tempo_request.py b/indoteknik_custom/models/user_pengajuan_tempo_request.py
index e2c08cb2..4a1994fb 100644
--- a/indoteknik_custom/models/user_pengajuan_tempo_request.py
+++ b/indoteknik_custom/models/user_pengajuan_tempo_request.py
@@ -55,7 +55,14 @@ class UserPengajuanTempoRequest(models.Model):
('approval_director', 'Approved by Director'),
('reject', 'Rejected'),
], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='draft')
- reason_reject = fields.Char(string='Limit Tempo')
+ last_state_tempo = fields.Selection([
+ ('draft', 'Pengajuan Tempo'),
+ ('approval_sales', 'Approved by Sales Manager'),
+ ('approval_finance', 'Approved by Finance'),
+ ('approval_director', 'Approved by Director'),
+ ('reject', 'Rejected'),
+ ], string='Status',)
+ reason_reject = fields.Char(string='Reason Reaject', tracking=True, track_visibility='onchange')
# informasi perusahaan
name_tempo = fields.Many2one('res.partner', string='Nama Perusahaan', related='pengajuan_tempo_id.name_tempo', store=True, tracking=True, readonly=False)
@@ -409,6 +416,9 @@ class UserPengajuanTempoRequest(models.Model):
'target': 'new',
'context': {'default_request_id': self.id},
}
+ def button_draft(self):
+ for tempo in self:
+ tempo.state_tempo = tempo.last_state_tempo if tempo.last_state_tempo else 'draft'
def write(self, vals):
is_approve = True if self.state_tempo == 'approval_director' or vals.get('state_tempo') == 'approval_director' else False
diff --git a/indoteknik_custom/views/user_pengajuan_tempo_request.xml b/indoteknik_custom/views/user_pengajuan_tempo_request.xml
index b6a6206e..4f047831 100644
--- a/indoteknik_custom/views/user_pengajuan_tempo_request.xml
+++ b/indoteknik_custom/views/user_pengajuan_tempo_request.xml
@@ -28,7 +28,11 @@
class="oe_highlight"/>
<button name="button_reject"
string="Reject"
- attrs="{'invisible': [('state_tempo', 'in', ['approval_director','reject'])]}"
+ type="object"
+ class="oe_highlight"/>
+ <button name="button_draft"
+ string="Reset to Draft"
+ attrs="{'invisible': [('state_tempo', '!=', 'reject')]}"
type="object"
class="oe_highlight"/>
<field name="state_tempo" widget="statusbar"