diff options
| author | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-10-10 09:30:55 +0700 |
|---|---|---|
| committer | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-10-10 09:30:55 +0700 |
| commit | ede22cbc80eed8b142457fe9779dcd61374f5c93 (patch) | |
| tree | 767c956bd470bb198d8089a70834614e0a853f77 | |
| parent | ff4ec105fbd2cffda3b6d8bef2b4549561ba93e7 (diff) | |
(andri) penyesuaian jabatan dan department + fix view
| -rw-r--r-- | indoteknik_custom/models/advance_payment_request.py | 61 | ||||
| -rw-r--r-- | indoteknik_custom/views/advance_payment_request.xml | 15 |
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> |
