diff options
| author | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-10-20 11:57:53 +0700 |
|---|---|---|
| committer | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-10-20 11:57:53 +0700 |
| commit | ee41e453f3d7b1042ac0af4fbf51741503308781 (patch) | |
| tree | 4f4f1381d9292824587fc74e6d96056991195dd5 | |
| parent | 4777ebcb87e53b2460661019d70c08aea938dd21 (diff) | |
(andri) fix create realisasi
| -rw-r--r-- | indoteknik_custom/models/advance_payment_request.py | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/indoteknik_custom/models/advance_payment_request.py b/indoteknik_custom/models/advance_payment_request.py index d1011e8e..cc3e57d6 100644 --- a/indoteknik_custom/models/advance_payment_request.py +++ b/indoteknik_custom/models/advance_payment_request.py @@ -1263,15 +1263,33 @@ class AdvancePaymentSettlement(models.Model): @api.model def create(self, vals): + jakarta_tz = pytz.timezone('Asia/Jakarta') + now = datetime.now(jakarta_tz).replace(tzinfo=None) pum_id = vals.get('pum_id') + initial_status = '' if pum_id: pum_request = self.env['advance.payment.request'].browse(pum_id) - position = pum_request.position_type - if position == 'staff': - vals['status'] = 'pengajuan1' - elif position in ('manager', 'pimpinan'): - vals['status'] = 'pengajuan2' - + if pum_request: + position_dari_pum = pum_request.position_type + if position_dari_pum == 'staff': + initial_status = 'pengajuan1' + elif position_dari_pum == 'manager': + initial_status = 'pengajuan2' + applicant_name_str = pum_request.applicant_name.name or '' + department_type = pum_request.departement_type + department_titles = pum_request._get_department_titles_mapping() + dept_position = department_titles.get(department_type, 'Departement Manager') + vals['date_approved_department'] = now + vals['name_approval_departement'] = applicant_name_str + vals['position_department'] = dept_position + elif position_dari_pum == 'pimpinan': + initial_status = 'pengajuan2' + applicant_name_str = pum_request.applicant_name.name or '' + vals['date_approved_pimpinan'] = now + vals['name_approval_pimpinan'] = applicant_name_str + vals['position_department'] = 'Pimpinan' + + vals['status'] = initial_status rec = super().create(vals) rec._check_remaining_value() return rec |
