diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2025-10-28 00:30:42 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2025-10-28 00:30:42 +0000 |
| commit | 13a84728c8aae076f2d10c77a8ba5aead789a47b (patch) | |
| tree | a92f7cdf7e72baf66b6be6274dcb72358e37be75 /indoteknik_custom/views | |
| parent | 87a4fc9ed43ea85cbbc8d09d268551c4f033491b (diff) | |
| parent | c15d83be7aad2a92abdd797ca7dd403566b8b841 (diff) | |
Merged in pum-v3 (pull request #453)
Pum v3
Diffstat (limited to 'indoteknik_custom/views')
| -rw-r--r-- | indoteknik_custom/views/advance_payment_request.xml | 289 | ||||
| -rw-r--r-- | indoteknik_custom/views/advance_payment_settlement.xml | 184 | ||||
| -rw-r--r-- | indoteknik_custom/views/ir_sequence.xml | 20 | ||||
| -rw-r--r-- | indoteknik_custom/views/mail_template_pum.xml | 76 |
4 files changed, 569 insertions, 0 deletions
diff --git a/indoteknik_custom/views/advance_payment_request.xml b/indoteknik_custom/views/advance_payment_request.xml new file mode 100644 index 00000000..c33a2843 --- /dev/null +++ b/indoteknik_custom/views/advance_payment_request.xml @@ -0,0 +1,289 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <record id="view_form_advance_payment_request" model="ir.ui.view"> + <field name="name">advance.payment.request.form</field> + <field name="model">advance.payment.request</field> + <field name="arch" type="xml"> + <form string="Advance Payment Request & Reimburse"> + <header> + <button name="action_realisasi_pum" + type="object" + string="Realisasi" + class="btn-primary" + attrs="{'invisible': ['|', + ('status', '!=', 'approved'), + '|', ('type_request', '!=', 'pum'), + ('has_settlement', '=', True)]}"/> + <button name="action_approval_check" + type="object" + string="Checking/Approval" + class="btn-success" + attrs="{'invisible': [('status', 'in', ['approved','reject','draft'])]}"/> + <button name="action_confirm_payment" + type="object" + string="Konfirmasi Pembayaran" + class="btn-info" + attrs="{'invisible': ['|', ('status', 'not in', ['approved']), ('status_pay_down_payment', '=', 'payment')]}"/> + <button name="action_ap_only" + type="object" + string="Buat Jurnal PUM" + class="btn-info" + attrs="{'invisible': ['|', + ('status', 'not in', ['approved']), + '|', + ('is_cab_visible', '=', True), + ('type_request', '!=', 'pum') + ]}"/> + <button name="action_open_create_reimburse_cab" + type="object" + string="Buat Jurnal Reimburse" + class="btn-info" + attrs="{'invisible': ['|', + ('status', 'not in', ['approved']), + '|', + ('is_cab_visible', '=', True), + ('type_request', '!=', 'reimburse') + ]}"/> + <field name="status" widget="statusbar" + statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,approved" + statusbar_colors='{"reject":"red"}' + readonly="1"/> + </header> + <sheet> + <widget name="web_ribbon" title="Payment" attrs="{'invisible': ['|', ('status_pay_down_payment', '!=', 'payment'), ('status', '=', 'draft')]}"/> + <widget name="web_ribbon" title="Pending" bg_color="bg-danger" attrs="{'invisible': ['|', ('status_pay_down_payment', '!=', 'pending'), ('status', '=', 'draft')]}"/> + <div class="oe_button_box" name="button_box" style="right: 150px;"> + <field name="has_settlement" invisible="1"/> + <button name="action_realisasi_pum" + type="object" + class="oe_stat_button" + icon="fa-check-square-o" + style="width: 280px;" + attrs="{'invisible': ['|', ('status', '!=', 'approved'), ('has_settlement', '=', False)]}"> + <!-- <field name="settlement_ids" widget="statinfo" string="Realisasi PUM"/> --> + <field name="settlement_name" widget="statinfo" string="Realisasi PUM"/> + </button> + <field name="is_cab_visible" invisible="1"/> + <field name="is_current_user_ap" invisible="1"/> + <button type="object" + name="action_view_journal_uangmuka" + class="oe_stat_button" + icon="fa-book" + attrs="{'invisible': [('is_cab_visible', '=', False)]}" + style="width: 200px;"> + <field name="move_id" widget="statinfo" string="Journal Uang Muka"/> + <span class="o_stat_text"> + <t t-esc="record.move_id.name"/> + </span> + </button> + </div> + <div class="oe_title"> + <h1> + <field name="number" readonly="1"/> + </h1> + </div> + <group col="2"> + <group string=" "> + <field name="type_request" attrs="{'readonly': [('status', '=', 'approved')]}"/> + <field name="is_represented" attrs="{'readonly': [('status', '=', 'approved')], 'invisible': [('type_request', '=', 'reimburse')]}"/> + <field name="applicant_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/> + <field name="position_type" force_save="1" 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')]}"/> + <field name="bank_account" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/> + <field name="detail_note" attrs="{'readonly': [('status', '=', 'approved')]}"/> + <br/> + <field name="user_id" 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': [('type_request', '=', 'reimburse')]}"/> + <field name="days_remaining" readonly="1" widget="badge" attrs="{'invisible': [('type_request', '=', 'reimburse')]}"/> + <field name="approved_by" readonly="1"/> + <field name="create_date" readonly="1"/> + <field name="status_pay_down_payment" + readonly="1" + decoration-success="status_pay_down_payment == 'payment'" + decoration-danger="status_pay_down_payment == 'pending'" + widget="badge" invisible = "1"/> + </group> + <group string="Bukti Transfer"> + <field name="upload_attachment_date" readonly="1"/> + <field name="attachment_type" attrs="{'readonly': [('is_current_user_ap', '=', False)]}" /> + <field name="attachment_file_pdf" filename="attachment_filename" + widget="pdf_viewer" + attrs="{'invisible': [('attachment_type', '!=', 'pdf')], 'readonly': [('is_current_user_ap', '=', False)]}"/> + + <field name="attachment_file_image" filename="attachment_filename" + widget="image" + attrs="{'invisible': [('attachment_type', '!=', 'image')], 'readonly': [('is_current_user_ap', '=', False)]}" + style="max-width:250px; max-height:250px; object-fit:contain;"/> + <br/> + </group> + </group> + <notebook attrs="{'invisible': [('type_request', '!=', 'reimburse')]}"> + <page string="Rincian Reimburse"> + <field name="reimburse_line_ids"> + <tree> + <field name="date"/> + <field name="description"/> + <field name="account_id"/> + <!-- <field name="distance"/> --> + <field name="quantity"/> + <field name="price_unit"/> + <field name="total" sum="Total"/> + <field name="is_checked"/> + <field name="currency_id" invisible="1"/> + </tree> + <form> + <group col="2"> + <group string="Form"> + <field name="request_id" invisible="1"/> + <field name="date"/> + <field name="is_vehicle"/> + <field name="vehicle_type" attrs="{'invisible': [('is_vehicle', '=', False)]}"/> + <field name="description"/> + <field name="distance_departure" attrs="{'invisible': [('is_vehicle', '=', False)]}"/> + <field name="distance_return" attrs="{'invisible': [('is_vehicle', '=', False)]}"/> + <field name="quantity"/> + <field name="price_unit" attrs="{'readonly': [('is_vehicle', '=', True)]}" force_save ="1"/> + <field name="total" readonly="1"/> + <field name="currency_id" invisible="1"/> + <field name="attachment_type"/> + <field name="attachment_pdf" filename="attachment_filename" + widget="pdf_viewer" + attrs="{'invisible': [('attachment_type', '!=', 'pdf')]}"/> + <field name="attachment_image" filename="attachment_filename" + widget="image" + attrs="{'invisible': [('attachment_type', '!=', 'image')]}" + style="max-width:250px; max-height:250px; object-fit:contain;"/> + </group> + <group string="Finance"> + <field name="is_current_user_ap" invisible="1"/> + <field name="is_checked" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/> + <field name="account_id" placeholder="Hanya Finance yang boleh isi" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/> + </group> + </group> + </form> + </field> + <group class="oe_subtotal_footer oe_right" name="reimburse_total"> + <field name="currency_id" invisible="1"/> + <field name="grand_total_reimburse" + widget="monetary" + options="{'currency_field': 'currency_id'}"/> + </group> + </page> + </notebook> + </sheet> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="message_ids" widget="mail_thread"/> + </div> + </form> + </field> + </record> + + <record id="view_tree_advance_payment_request" model="ir.ui.view"> + <field name="name">advance.payment.request.tree</field> + <field name="model">advance.payment.request</field> + <field name="arch" type="xml"> + <tree> + <field name="number"/> + <field name="user_id" optional='hide'/> + <field name="applicant_name"/> + <field name="nominal"/> + <field name="departement_type" optional='hide'/> + <field name="status" + readonly="1" + decoration-success="status == 'approved'" + decoration-danger="status == 'reject'" + widget="badge" optional="show"/> + <field name="status_pay_down_payment" + readonly="1" + decoration-success="status_pay_down_payment == 'payment'" + decoration-danger="status_pay_down_payment == 'pending'" + widget="badge"/> + <field name="days_remaining" readonly="1" widget="badge" optional="hide"/> + <field name="estimated_return_date" widget="badge" optional="hide"/> + </tree> + </field> + </record> + + <record id="action_advance_payment_request" model="ir.actions.act_window"> + <field name="name">Pengajuan Uang Muka & Reimburse</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">advance.payment.request</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem id="menu_advance_payment_request_acct" + name="Pengajuan Uang Muka & Reimburse" + parent="account.menu_finance_entries" + sequence="114" + action="action_advance_payment_request" + /> + + <menuitem id="menu_advance_payment_request_sales" + name="Pengajuan Uang Muka & Reimburse" + parent="indoteknik_custom.menu_monitoring_in_sale" + sequence="101" + action="action_advance_payment_request" + /> + + <record id="view_advance_payment_create_bill_form" model="ir.ui.view"> + <field name="name">advance.payment.create.bill.form</field> + <field name="model">advance.payment.create.bill</field> + <field name="arch" type="xml"> + <form string="Create CAB AP Only"> + <group> + <field name="nominal"/> + <field name="account_id"/> + </group> + <footer> + <button name="action_create_cab" type="object" string="Create CAB" class="btn-primary"/> + <button string="Cancel" class="btn-secondary" special="cancel"/> + </footer> + </form> + </field> + </record> + + <record id="action_advance_payment_create_bill" model="ir.actions.act_window"> + <field name="name">Create CAB AP Only</field> + <field name="res_model">advance.payment.create.bill</field> + <field name="view_mode">form</field> + <field name="view_id" ref="view_advance_payment_create_bill_form"/> + <field name="target">new</field> + </record> + + + <record id="view_form_create_reimburse_cab_wizard" model="ir.ui.view"> + <field name="name">create.reimburse.cab.wizard.form</field> + <field name="model">create.reimburse.cab.wizard</field> + <field name="arch" type="xml"> + <form string="Buat Jurnal Reimburse"> + <p>Pilih akun bank yang akan digunakan untuk jurnal kredit.</p> + <group> + <field name="total_reimburse"/> + <field name="account_id" options="{'no_create': True, 'no_open': True}"/> + <field name="currency_id" invisible="1"/> + </group> + <footer> + <button name="action_create_reimburse_cab" type="object" string="Buat Jurnal" class="btn-primary"/> + <button string="Batal" class="btn-secondary" special="cancel"/> + </footer> + </form> + </field> + </record> + + <record id="action_create_reimburse_cab_wizard" model="ir.actions.act_window"> + <field name="name">Buat Jurnal Reimburse</field> + <field name="res_model">create.reimburse.cab.wizard</field> + <field name="view_mode">form</field> + <field name="view_id" ref="view_form_create_reimburse_cab_wizard"/> + <field name="target">new</field> + </record> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/advance_payment_settlement.xml b/indoteknik_custom/views/advance_payment_settlement.xml new file mode 100644 index 00000000..1a9d7908 --- /dev/null +++ b/indoteknik_custom/views/advance_payment_settlement.xml @@ -0,0 +1,184 @@ +<odoo> + <record id="view_form_advance_payment_settlement" model="ir.ui.view"> + <field name="name">advance.payment.settlement.form</field> + <field name="model">advance.payment.settlement</field> + <field name="arch" type="xml"> + <form string="Advance Payment Settlement"> + <header> + <button name="action_cab" + type="object" + class="btn-info" + attrs="{'invisible': [ '|', ('is_cab_visible', '=', True),('status', '!=', 'approved')]}" + string="Buat Jurnal Realisasi"/> + <button name="action_approval_check" + type="object" + string="Checking/Approval" + class="btn-success" + attrs="{'invisible': [('status', '=', 'approved')]}"/> + <field name="status" widget="statusbar" + statusbar_visible="pengajuan1,pengajuan2,pengajuan3,approved" + statusbar_colors='{"reject":"red"}' + readonly="1"/> + </header> + <sheet> + <div class="oe_button_box" name="button_box"> + <field name="is_cab_visible" invisible="1"/> + <field name="is_current_user_ap" invisible="1"/> + <button type="object" + name="action_view_journal_uangmuka" + class="oe_stat_button" + icon="fa-book" + attrs="{'invisible': [('is_cab_visible', '=', False)], 'readonly': [('is_current_user_ap', '=', False)]}" + style="width: 200px;"> + <field name="move_id" widget="statinfo" string="Journal Entries"/> + <span class="o_stat_text"> + <t t-esc="record.move_misc_id.name"/> + </span> + </button> + </div> + <div class="oe_title"> + <h1> + <field name="name" readonly="1"/> + </h1> + </div> + <group col="2"> + <group> + <field name="pum_id" readonly="1"/> + <field name="title" required="1"/> + <field name="goals" required="1"/> + <field name="related" required="1"/> + <field name="note_approval" required="1"/> + <field name="lot_of_attachment"/> + <field name="approved_by" readonly="1"/> + <field name="applicant_name" readonly="1"/> + <field name="user_id" readonly="1"/> + </group> + <group attrs="{'invisible': [('lot_of_attachment', '!=', 'one_for_all_line')]}"> + <field name="attachment_type" attrs="{'readonly': [('status', '=', 'approved')]}"/> + + <field name="attachment_file_pdf" filename="attachment_filename" + widget="pdf_viewer" + attrs="{'invisible': [('attachment_type', '!=', 'pdf')], 'readonly': [('status', '=', 'approved')]}"/> + + <field name="attachment_file_image" filename="attachment_filename" + widget="image" + attrs="{'invisible': [('attachment_type', '!=', 'image')], 'readonly': [('status', '=', 'approved')]}" + style="max-width:250px; max-height:250px; object-fit:contain;"/> + <br/> + </group> + </group> + + <notebook> + <page string="Rincian Penggunaan"> + <field name="penggunaan_line_ids" nolabel="1"> + <tree> + <field name="date"/> + <field name="description"/> + <field name="nominal" sum="Total Penggunaan"/> + <field name="done_attachment"/> + </tree> + + <form> + <group col="2"> + <group string = "Form"> + <field name="lot_of_attachment" invisible="1"/> + <field name="date"/> + <field name="description"/> + <field name="nominal"/> + <field name="attachment_type" + attrs="{ + 'invisible': [('lot_of_attachment', '=', 'one_for_all_line')] + }"/> + <field name="attachment_file_pdf" + filename="attachment_filename_pdf" + widget="pdf_viewer" + attrs="{ + 'invisible': [ + '|', + ('lot_of_attachment', '=', 'one_for_all_line'), + ('attachment_type', '!=', 'pdf') + ] + }"/> + <field name="attachment_file_image" + filename="attachment_filename_image" + widget="image" + attrs="{ + 'invisible': [ + '|', + ('lot_of_attachment', '=', 'one_for_all_line'), + ('attachment_type', '!=', 'image') + ] + }" + style="max-width:250px; max-height:250px; object-fit:contain;"/> + + </group> + <group string="Finance"> + <field name="is_current_user_ap" invisible="1"/> + <field name="account_id" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/> + <field name="done_attachment" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/> + </group> + </group> + </form> + </field> + </page> + </notebook> + + <div style="text-align:right;"> + <button name="action_toggle_check_attachment" + type="object" + string="Check/Uncheck All Line Use PUM" + class="btn-secondary"/> + </div> + + <group col="2"> + <group class="oe_subtotal_footer oe_right"> + <field name="currency_id" invisible="1"/> + <field name="grand_total_use" readonly="1" widget="monetary" options="{'currency_field': 'currency_id'}"/> + <field name="nominal_pum" readonly="1" widget="monetary" options="{'currency_field': 'currency_id'}" style="font-weight: bold;"/> + <field name="remaining_value" readonly="1" widget="monetary" options="{'currency_field': 'currency_id'}"/> + </group> + </group> + </sheet> + + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="message_ids" widget="mail_thread"/> + </div> + </form> + </field> + </record> + + <record id="action_advance_payment_settlement" model="ir.actions.act_window"> + <field name="name">Realisasi Pengajuan Uang Muka</field> + <field name="res_model">advance.payment.settlement</field> + <field name="view_mode">tree,form</field> + </record> + + <record id="view_tree_advance_payment_settlement" model="ir.ui.view"> + <field name="name">advance.payment.settlement.tree</field> + <field name="model">advance.payment.settlement</field> + <field name="arch" type="xml"> + <tree create="false" delete="false"> + <field name="name"/> + <field name="pum_id"/> + <field name="grand_total_use" string="Total Realisasi"/> + <field name="remaining_value" string="Sisa PUM"/> + <field name="status" widget="badge" decoration-success="status == 'approved'"/> + </tree> + </field> + </record> + + <menuitem id="menu_advance_payment_settlement_acct" + name="Realisasi PUM" + parent="account.menu_finance_entries" + sequence="114" + action="action_advance_payment_settlement" + /> + + <menuitem id="menu_advance_payment_settlement_sales" + name="Realisasi PUM" + parent="indoteknik_custom.menu_monitoring_in_sale" + sequence="101" + action="action_advance_payment_settlement" + /> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/ir_sequence.xml b/indoteknik_custom/views/ir_sequence.xml index 4b8fec53..dbdbc3c0 100644 --- a/indoteknik_custom/views/ir_sequence.xml +++ b/indoteknik_custom/views/ir_sequence.xml @@ -219,6 +219,26 @@ <field name="number_increment">1</field> </record> + <record id="sequence_advance_payment_request" model="ir.sequence"> + <field name="name">Advance Payment Request Sequence</field> + <field name="code">advance.payment.request</field> + <field name="prefix">PUM/%(year)s/%(month)s/</field> + <field name="padding">4</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> + </record> + + <record id="sequence_reimburse_request" model="ir.sequence"> + <field name="name">Reimburse Request Sequence</field> + <field name="code">reimburse.request</field> + <field name="prefix">RMK/%(year)s/%(month)s/</field> + <field name="padding">4</field> + <field name="number_next">1</field> + <field name="number_increment">1</field> + <field name="active">True</field> + </record> + <record id="seq_refund_sale_order" model="ir.sequence"> <field name="name">Refund Sales Order</field> <field name="code">refund.sale.order</field> diff --git a/indoteknik_custom/views/mail_template_pum.xml b/indoteknik_custom/views/mail_template_pum.xml new file mode 100644 index 00000000..81f8ada8 --- /dev/null +++ b/indoteknik_custom/views/mail_template_pum.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="0"> + + <record id="mail_template_pum_reminder_today" model="mail.template"> + <field name="name">Reminder PUM: Hari Ini</field> + <field name="model_id" ref="indoteknik_custom.model_advance_payment_request"/> + <field name="subject">Reminder Realisasi PUM - ${object.number}</field> + <field name="email_from">${object.email_ap}</field> + <field name="email_to">andrifebriyadiputra@gmail.com</field> + <field name="body_html" type="html"> + <div> + <p><b>Dengan Hormat Bpk/Ibu ${object.user_id.display_name},</b></p> + + <p> + Berikut terlampir pengajuan PUM <b>${object.number}</b> sebesar + <b>${format_amount(object.nominal, object.currency_id)}</b> dari PT. INDOTEKNIK DOTCOM GEMILANG + pada tanggal ${format_date(object.create_date, 'd MMMM yyyy')}.<br/> + Tolong segera selesaikan realisasi PUM tersebut dengan menyertakan dokumen asli untuk mendukung realisasi tersebut + <b>maksimal 7 hari dari sekarang</b>.<br/> + Terima Kasih + </p> + + <br/><br/> + + <p><b>Best Regards,</b></p> + + <br/> + <p><b> + Dept. Finance<br/> + PT. INDOTEKNIK DOTCOM GEMILANG<br/> + <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2135765" alt="Indoteknik" style="max-width: 18%; height: auto;"></img><br/> + </b></p> + <p><i>Email ini dikirim otomatis, abaikan bila sudah melakukan realisasi.</i></p> + </div> + </field> + <field name="auto_delete" eval="True"/> + </record> + + <record id="mail_template_pum_reminder_h_2" model="mail.template"> + <field name="name">Reminder Realisasi PUM: H-2</field> + <field name="model_id" ref="indoteknik_custom.model_advance_payment_request"/> + <field name="subject">Reminder Realisasi PUM (H-2) - ${object.number}</field> + <field name="email_from">${object.email_ap}</field> + <field name="email_to">andrifebriyadiputra@gmail.com</field> + <field name="body_html" type="html"> + <div> + <p><b>Dengan Hormat Bpk/Ibu ${object.user_id.display_name},</b></p> + + <p> + Berikut terlampir pengajuan PUM <b>${object.number}</b> sebesar + <b>${format_amount(object.nominal, object.currency_id)}</b> dari PT. INDOTEKNIK DOTCOM GEMILANG + pada tanggal ${format_date(object.create_date, 'd MMMM yyyy')}.<br/> + Tolong segera selesaikan realisasi PUM tersebut dengan menyertakan dokumen asli untuk mendukung PUM tersebut + <b>batas waktu tersisa 2 hari lagi</b>.<br/> + Terima Kasih + </p> + + <br/><br/> + + <p><b>Best Regards,</b></p> + + <br/> + <p><b> + Dept. Finance<br/> + PT. INDOTEKNIK DOTCOM GEMILANG<br/> + <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2135765" alt="Indoteknik" style="max-width: 18%; height: auto;"></img><br/> + </b></p> + <p><i>Email ini dikirim otomatis, abaikan bila sudah melakukan realisasi.</i></p> + </div> + </field> + <field name="auto_delete" eval="True"/> + </record> + + </data> +</odoo>
\ No newline at end of file |
