From 99896ae7999de433837faed09466c06845493770 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Fri, 10 Oct 2025 14:01:49 +0700 Subject: (andri) add reimburse line --- .../models/advance_payment_request.py | 31 +++++++++++++++++++ indoteknik_custom/security/ir.model.access.csv | 1 + .../views/advance_payment_request.xml | 36 +++++++++++++++++++--- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/indoteknik_custom/models/advance_payment_request.py b/indoteknik_custom/models/advance_payment_request.py index 578829f2..412afa7a 100644 --- a/indoteknik_custom/models/advance_payment_request.py +++ b/indoteknik_custom/models/advance_payment_request.py @@ -133,6 +133,7 @@ class AdvancePaymentRequest(models.Model): ]) apr_perjalanan = fields.Boolean(string = "PUM Perjalanan?", default = False) + reimburse_line_ids = fields.One2many('reimburse.line', 'request_id', string='Rincian Reimburse') @api.onchange('nominal') def _onchange_nominal_no_minus(self): @@ -315,6 +316,11 @@ class AdvancePaymentRequest(models.Model): def _get_departement_approver(self): mapping = self._get_approver_mapping() return mapping.get(self.departement_type) + + @api.constrains('apr_perjalanan', 'date_back_to_office') + def _check_date_back_to_office(self): + if self.apr_perjalanan and not self.date_back_to_office: + raise ValidationError("Tanggal Kembali ke Kantor wajib diisi jika PUM Perjalanan dicentang.") @api.onchange('applicant_name') def _onchange_applicant_name_set_position(self): @@ -723,6 +729,31 @@ class AdvancePaymentUsageLine(models.Model): } } +class ReimburseLine(models.Model): + _name = 'reimburse.line' + _description = 'Reimburse Line' + + request_id = fields.Many2one('advance.payment.request', string='Request') + date = fields.Date(string='Tanggal', required=True, default=fields.Date.today) + account_id = fields.Many2one( + 'account.account', + string='Jenis Biaya', + required=True, + domain="[('id', 'in', [484, 486, 527, 529, 530, 471, 473, 492, 493, 488, 625, 528, 533, 534])]" + ) + description = fields.Char(string='Description', required=True) + distance = fields.Float(string='Jarak (km)') + quantity = fields.Float(string='Quantity') + price = fields.Float(string='Price') + total = fields.Float(string='Total') + currency_id = fields.Many2one(related='request_id.currency_id') + + is_vehicle = fields.Boolean(string='Berkendara?') + vehicle_type = fields.Selection([ + ('motor', 'Motor'), + ('car', 'Mobil'), + ], string='Tipe Kendaraan') + class AdvancePaymentSettlement(models.Model): _name = 'advance.payment.settlement' _description = 'Advance Payment Settlement' diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index b30b898b..7ca1f38c 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -188,6 +188,7 @@ access_change_date_planned_wizard,access.change.date.planned.wizard,model_change access_refund_sale_order,access.refund.sale.order,model_refund_sale_order,base.group_user,1,1,1,1 access_refund_sale_order_line,access.refund.sale.order.line,model_refund_sale_order_line,base.group_user,1,1,1,1 access_advance_payment_request,access.advance.payment.request,model_advance_payment_request,,1,1,1,1 +access_reimburse_line,access.reimburse.line,model_reimburse_line,,1,1,1,1 access_advance_payment_settlement,access.advance.payment.settlement,model_advance_payment_settlement,,1,1,1,1 access_advance_payment_settlement_line,access.advance.payment.settlement.line,model_advance_payment_settlement_line,,1,1,1,1 access_advance_payment_usage_line,access.advance.payment.usage.line,model_advance_payment_usage_line,,1,1,1,1 diff --git a/indoteknik_custom/views/advance_payment_request.xml b/indoteknik_custom/views/advance_payment_request.xml index 134ec9bf..0e8c130b 100644 --- a/indoteknik_custom/views/advance_payment_request.xml +++ b/indoteknik_custom/views/advance_payment_request.xml @@ -103,12 +103,38 @@ style="max-width:250px; max-height:250px; object-fit:contain;"/>
- - -

Hello World HEHE

-
-
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+
+
+
-- cgit v1.2.3