summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-10 09:30:55 +0700
committerFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-10 09:30:55 +0700
commitede22cbc80eed8b142457fe9779dcd61374f5c93 (patch)
tree767c956bd470bb198d8089a70834614e0a853f77
parentff4ec105fbd2cffda3b6d8bef2b4549561ba93e7 (diff)
(andri) penyesuaian jabatan dan department + fix view
-rw-r--r--indoteknik_custom/models/advance_payment_request.py61
-rw-r--r--indoteknik_custom/views/advance_payment_request.xml15
2 files changed, 48 insertions, 28 deletions
diff --git a/indoteknik_custom/models/advance_payment_request.py b/indoteknik_custom/models/advance_payment_request.py
index a867ddae..578829f2 100644
--- a/indoteknik_custom/models/advance_payment_request.py
+++ b/indoteknik_custom/models/advance_payment_request.py
@@ -33,8 +33,7 @@ class AdvancePaymentRequest(models.Model):
date_back_to_office = fields.Date(
string='Tanggal Kembali ke Kantor',
- tracking=3,
- required=True
+ tracking=3
)
estimated_return_date = fields.Date(
@@ -53,7 +52,7 @@ class AdvancePaymentRequest(models.Model):
status = fields.Selection([
('draft', 'Draft'),
('pengajuan1', 'Menunggu Approval Departement'),
- ('pengajuan2', 'Menunggu Pengecekan AP'),
+ ('pengajuan2', 'Menunggu Approval AP'),
('pengajuan3', 'Menunggu Approval Pimpinan'),
('approved', 'Approved'),
('reject', 'Rejected')
@@ -62,7 +61,7 @@ class AdvancePaymentRequest(models.Model):
last_status = fields.Selection([
('draft', 'Draft'),
('pengajuan1', 'Menunggu Approval Departement'),
- ('pengajuan2', 'Menunggu Pengecekan AP'),
+ ('pengajuan2', 'Menunggu Approval AP'),
('pengajuan3', 'Menunggu Approval Pimpinan'),
('approved', 'Approved'),
('reject', 'Rejected')
@@ -94,7 +93,8 @@ class AdvancePaymentRequest(models.Model):
('marketing', 'Marketing'),
('logistic', 'Logistic'),
('procurement', 'Procurement'),
- ('fat_it', 'FAT & IT'),
+ ('fat', 'FAT'),
+ ('it', 'IT'),
('hr_ga', 'HR & GA'),
], string='Departement Type', tracking=3, required=True)
@@ -295,7 +295,7 @@ class AdvancePaymentRequest(models.Model):
# Sales & MD : Darren ID 19
# Marketing : Iwan ID 216
# Logistic & Procurement : Rafly H ID 21
- # FAT : Stephan ID 28
+ # FAT & IT : Stephan ID 28
# HR & GA : Akbar ID 7 / Pimpinan
# ---------------------------------------
# AP : Manzila (Finance) ID 23
@@ -308,29 +308,46 @@ class AdvancePaymentRequest(models.Model):
'logistic': 21,
'procurement': 21,
'fat': 28,
+ 'it': 28,
'hr_ga': 7,
}
def _get_departement_approver(self):
mapping = self._get_approver_mapping()
return mapping.get(self.departement_type)
+
+ @api.onchange('applicant_name')
+ def _onchange_applicant_name_set_position(self):
+ if self.applicant_name:
+ user_id = self.applicant_name.id
+ mapping = self._get_approver_mapping()
+ manager_ids = set(mapping.values())
+ pimpinan_id = 7
+ if user_id == pimpinan_id:
+ self.position_type = 'pimpinan'
+ elif user_id in manager_ids:
+ self.position_type = 'manager'
+ else:
+ self.position_type = 'staff'
+ else:
+ self.position_type = False
- @api.model
- def default_get(self, fields_list):
- defaults = super(AdvancePaymentRequest, self).default_get(fields_list)
- user_id = defaults.get('user_id', self.env.uid)
- mapping = self._get_approver_mapping()
- manager_ids = set(mapping.values())
- pimpinan_id = 7
+ # @api.model
+ # def default_get(self, fields_list):
+ # defaults = super(AdvancePaymentRequest, self).default_get(fields_list)
+ # user_id = defaults.get('user_id', self.env.uid)
+ # mapping = self._get_approver_mapping()
+ # manager_ids = set(mapping.values())
+ # pimpinan_id = 7
- position = 'staff'
- if user_id == pimpinan_id:
- position = 'pimpinan'
- elif user_id in manager_ids:
- position = 'manager'
+ # position = 'staff'
+ # if user_id == pimpinan_id:
+ # position = 'pimpinan'
+ # elif user_id in manager_ids:
+ # position = 'manager'
- defaults['position_type'] = position
- return defaults
+ # defaults['position_type'] = position
+ # return defaults
def action_realisasi_pum(self):
self.ensure_one()
@@ -429,6 +446,7 @@ class AdvancePaymentRequest(models.Model):
'logistic': 'Logistic Manager',
'procurement': 'Procurement Manager',
'fat': 'Finance & Accounting Manager',
+ 'it': 'IT Manager',
'hr_ga': 'HR & GA Manager',
}
rec.position_department = department_titles.get(rec.departement_type, 'Departement Manager')
@@ -746,7 +764,7 @@ class AdvancePaymentSettlement(models.Model):
status = fields.Selection([
('pengajuan1', 'Menunggu Approval Departement'),
- ('pengajuan2', 'Menunggu Pengecekan AP'),
+ ('pengajuan2', 'Menunggu Approval AP'),
('pengajuan3', 'Menunggu Approval Pimpinan'),
('approved', 'Approved'),
], string='Status', default='pengajuan1', tracking=3, index=True, track_visibility='onchange')
@@ -987,6 +1005,7 @@ class AdvancePaymentSettlement(models.Model):
'logistic': 'Logistic Manager',
'procurement': 'Procurement Manager',
'fat': 'Finance & Accounting Manager',
+ 'it': 'IT Manager',
'hr_ga': 'HR & GA Manager',
}
rec.position_department = department_titles.get(rec.pum_id.departement_type, 'Departement Manager')
diff --git a/indoteknik_custom/views/advance_payment_request.xml b/indoteknik_custom/views/advance_payment_request.xml
index 0ec5900a..134ec9bf 100644
--- a/indoteknik_custom/views/advance_payment_request.xml
+++ b/indoteknik_custom/views/advance_payment_request.xml
@@ -29,12 +29,12 @@
type="object"
string="Konfirmasi Pembayaran"
class="btn-info"
- attrs="{'invisible': ['|', ('status', 'in', ['reject','draft']), ('status_pay_down_payment', '=', 'payment')]}"/>
+ attrs="{'invisible': ['|', ('status', 'not in', ['approved']), ('status_pay_down_payment', '=', 'payment')]}"/>
<button name="action_ap_only"
type="object"
- string="AP Only"
+ string="Make CAB"
class="btn-info"
- attrs="{'invisible': ['|', ('status', 'in', ['approved','reject','draft']), ('is_cab_visible', '=', True)]}"/>
+ attrs="{'invisible': ['|', ('status', 'not in', ['approved']), ('is_cab_visible', '=', True)]}"/>
<field name="status" widget="statusbar"
statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,approved"
statusbar_colors='{"reject":"red"}'
@@ -66,6 +66,7 @@
<group string=" ">
<field name="type_request" attrs="{'readonly': [('status', '=', 'approved')]}"/>
<field name="applicant_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="position_type" readonly="1"/>
<field name="nominal" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
<field name="bank_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
<field name="account_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
@@ -73,11 +74,12 @@
<field name="detail_note" attrs="{'readonly': [('status', '=', 'approved')]}"/>
<br/>
<field name="user_id" readonly="1"/>
- <field name="position_type" readonly="1"/>
+ <!-- <field name="position_type" readonly="1"/> -->
<!-- <field name="partner_id" readonly="1"/> -->
<field name="departement_type"/>
<field name="apr_perjalanan" attrs="{'invisible': [('type_request', '=', 'reimburse')]}"/>
<field name="date_back_to_office" attrs="{'invisible': [('apr_perjalanan', '=', False)]}"/>
+ <p style="font-size: 10px; color: grey; font-style: italic" attrs="{'invisible': [('apr_perjalanan', '=', False)]}">*Setelah tanggal kembali, pemohon diharapkan untuk segera memproses realisasi PUM</p>
<field name="estimated_return_date" readonly="1" widget="badge" attrs="{'invisible': [('apr_perjalanan', '=', False)]}"/>
<field name="days_remaining" readonly="1" widget="badge"/>
<field name="approved_by" readonly="1"/>
@@ -101,9 +103,8 @@
style="max-width:250px; max-height:250px; object-fit:contain;"/>
<br/>
</group>
-
- <notebook>
- <page string="Reimburse" attrs="{'invisible': [('type_request', '!=', 'reimburse')]}">
+ <notebook attrs="{'invisible': [('type_request', '!=', 'reimburse')]}">
+ <page string="Reimburse">
<h1>Hello World HEHE</h1>
</page>
</notebook>