diff options
| author | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-10-13 14:31:22 +0700 |
|---|---|---|
| committer | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-10-13 14:31:22 +0700 |
| commit | 1de6ff22b0c3177d01d989b2c4fab1c64c45c1cf (patch) | |
| tree | 759605b855240503dae5a2e04d2757705cb20706 /indoteknik_custom/models | |
| parent | 99d097d93635eaa1cf92064f1e9070107fe0d8a5 (diff) | |
(andri) fix
Diffstat (limited to 'indoteknik_custom/models')
| -rw-r--r-- | indoteknik_custom/models/advance_payment_request.py | 38 |
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 |
