summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models
diff options
context:
space:
mode:
authorFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-13 14:31:22 +0700
committerFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-13 14:31:22 +0700
commit1de6ff22b0c3177d01d989b2c4fab1c64c45c1cf (patch)
tree759605b855240503dae5a2e04d2757705cb20706 /indoteknik_custom/models
parent99d097d93635eaa1cf92064f1e9070107fe0d8a5 (diff)
(andri) fix
Diffstat (limited to 'indoteknik_custom/models')
-rw-r--r--indoteknik_custom/models/advance_payment_request.py38
1 files changed, 29 insertions, 9 deletions
diff --git a/indoteknik_custom/models/advance_payment_request.py b/indoteknik_custom/models/advance_payment_request.py
index 02b1a23f..5e8bd88e 100644
--- a/indoteknik_custom/models/advance_payment_request.py
+++ b/indoteknik_custom/models/advance_payment_request.py
@@ -12,7 +12,7 @@ import base64
class AdvancePaymentRequest(models.Model):
_name = 'advance.payment.request'
- _description = 'Advance Payment Request & Reimburse'
+ _description = 'Advance Payment Request or Reimburse'
_rec_name = 'number'
_inherit = ['mail.thread', 'mail.activity.mixin']
@@ -476,9 +476,9 @@ class AdvancePaymentRequest(models.Model):
)
elif rec.status == 'pengajuan2':
- ap_user_ids = [23, 9468] # List user ID yang boleh approve sebagai Finance AP
- if self.env.user.id not in ap_user_ids:
- raise UserError("Hanya AP yang berhak menyetujui tahap ini.")
+ # ap_user_ids = [23, 9468] # List user ID yang boleh approve sebagai Finance AP
+ # if self.env.user.id not in ap_user_ids:
+ # raise UserError("Hanya AP yang berhak menyetujui tahap ini.")
rec.name_approval_ap = self.env.user.name
rec.approved_by = (rec.approved_by + ', ' if rec.approved_by else '') + rec.name_approval_ap
rec.email_ap = self.env.user.email
@@ -660,7 +660,7 @@ class AdvancePaymentRequest(models.Model):
if not realization or realization.done_status != 'done_not_realized':
active_pum_count += 1
- if active_pum_count >= 2:
+ if active_pum_count >= 2 and vals.get('type_request') == 'pum':
raise UserError("Anda hanya dapat mengajukan maksimal 2 PUM aktif. Silakan realisasikan salah satunya terlebih dahulu.")
if not vals.get('apr_perjalanan'):
@@ -683,7 +683,7 @@ class AdvancePaymentRequest(models.Model):
else:
vals['number'] = self.env['ir.sequence'].next_by_code('advance.payment.request') or 'New Draft'
- vals['status'] = 'pengajuan1'
+ # vals['status'] = 'pengajuan1'
return super(AdvancePaymentRequest, self).create(vals)
@@ -692,9 +692,9 @@ class AdvancePaymentSettlementLine(models.Model):
_description = 'Advance Payment Settlement Line'
realization_id = fields.Many2one('advance.payment.settlement', string='Realization')
- date = fields.Date(string='Tanggal', required=True, default=fields.Date.today)
- description = fields.Char(string='Description', required=True)
- value = fields.Float(string='Nilai', required=True)
+ date = fields.Date(string='Tanggal', default=fields.Date.today)
+ description = fields.Char(string='Description')
+ value = fields.Float(string='Nilai')
class AdvancePaymentUsageLine(models.Model):
@@ -728,6 +728,17 @@ class AdvancePaymentUsageLine(models.Model):
domain="[('id', 'in', [484, 486, 488, 506, 507, 625, 471, 519, 527, 528, 529, 530, 565])]" # ID Jenis Biaya yang dibutuhkan
)
+ is_current_user_ap = fields.Boolean(
+ string="Is Current User AP",
+ compute='_compute_is_current_user_ap'
+ )
+
+ def _compute_is_current_user_ap(self):
+ ap_user_ids = [23, 9468]
+ is_ap = self.env.user.id in ap_user_ids
+ for line in self:
+ line.is_current_user_ap = is_ap
+
@api.onchange('account_id')
def _onchange_account_id(self):
for rec in self:
@@ -1175,6 +1186,15 @@ class AdvancePaymentSettlement(models.Model):
@api.model
def create(self, vals):
+ pum_id = vals.get('pum_id')
+ 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'
+
rec = super().create(vals)
rec._check_remaining_value()
return rec