diff options
| -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 |
