summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-20 11:57:53 +0700
committerFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-20 11:57:53 +0700
commitee41e453f3d7b1042ac0af4fbf51741503308781 (patch)
tree4f4f1381d9292824587fc74e6d96056991195dd5
parent4777ebcb87e53b2460661019d70c08aea938dd21 (diff)
(andri) fix create realisasi
-rw-r--r--indoteknik_custom/models/advance_payment_request.py30
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