summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models')
-rw-r--r--indoteknik_custom/models/advance_payment_request.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/indoteknik_custom/models/advance_payment_request.py b/indoteknik_custom/models/advance_payment_request.py
index 1b5f2c2f..a0fb4d51 100644
--- a/indoteknik_custom/models/advance_payment_request.py
+++ b/indoteknik_custom/models/advance_payment_request.py
@@ -125,6 +125,10 @@ class AdvancePaymentRequest(models.Model):
('manager', 'Manager'),
('pimpinan', 'Pimpinan')], string='Jabatan')
+ settlement_type = fields.Selection([
+ ('no_settlement', 'Belum Realisasi'),
+ ('settlement', 'Realisasi')
+ ])
@api.onchange('nominal')
def _onchange_nominal_no_minus(self):
@@ -292,8 +296,8 @@ class AdvancePaymentRequest(models.Model):
# ---------------------------------------
# AP : Manzila (Finance) ID 23
- def _get_departement_approver(self):
- mapping = {
+ def _get_approver_mapping(self):
+ return {
'sales': 19,
'merchandiser': 19,
'marketing': 216,
@@ -302,8 +306,28 @@ class AdvancePaymentRequest(models.Model):
'fat': 28,
'hr_ga': 7,
}
+
+ def _get_departement_approver(self):
+ mapping = self._get_approver_mapping()
return mapping.get(self.departement_type)
+ @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'
+
+ defaults['position_type'] = position
+ return defaults
+
def action_realisasi_pum(self):
self.ensure_one()