diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-02-11 16:40:46 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-02-11 16:40:46 +0700 |
| commit | ee106a0245fe05c3b5341e7c0f2606d7c5adb8de (patch) | |
| tree | 0099cdbc9f9e97bed38b9e87681fc9fb152f3518 | |
| parent | eeff963c94f4d933b89308f40b387fd67ef881c4 (diff) | |
<iman> add tracking reason reject and reset to draft
| -rw-r--r-- | indoteknik_custom/models/user_pengajuan_tempo_request.py | 12 | ||||
| -rw-r--r-- | indoteknik_custom/views/user_pengajuan_tempo_request.xml | 6 |
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" |
