summaryrefslogtreecommitdiff
path: root/indoteknik_custom/views/advance_payment_request.xml
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-11-19 14:49:01 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-11-19 14:49:01 +0700
commitbb2be920076aabc49b4f9fdd896d14e096e633eb (patch)
tree588196ba53fb7e41d96a61272bdb74b4821fe661 /indoteknik_custom/views/advance_payment_request.xml
parent9c4f131ffaf37ca47a78b320a68f7de4e846ecfb (diff)
parent58623e9509789381dbe334969de647b4ad0302a4 (diff)
Merge branch 'odoo-backup' into locatorlocator
# Conflicts: # indoteknik_custom/models/__init__.py # indoteknik_custom/models/stock_move.py # indoteknik_custom/security/ir.model.access.csv # indoteknik_custom/views/stock_picking.xml
Diffstat (limited to 'indoteknik_custom/views/advance_payment_request.xml')
-rw-r--r--indoteknik_custom/views/advance_payment_request.xml305
1 files changed, 305 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..4e73bb28
--- /dev/null
+++ b/indoteknik_custom/views/advance_payment_request.xml
@@ -0,0 +1,305 @@
+<?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 &amp; Reimburse" duplicate="0">
+ <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')]}"/>
+ <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'), ('type_request', '=', 'reimburse')]}" force_save="1"/>
+ <p style="font-size: 10px; color: grey; font-style: italic" attrs="{'invisible': [('type_request', '!=', 'reimburse')]}">*Nominal terisi otomatis sesuai grand total rincian reimburse</p>
+ <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="view_advance_payment_request_filter" model="ir.ui.view">
+ <field name="name">advance.payment.request.filter</field>
+ <field name="model">advance.payment.request</field>
+ <field name="arch" type="xml">
+ <search string="Search APR &amp; Reimburse">
+ <filter string="My Requests" name="my_requests" domain="[('applicant_name','=',uid)]"/>
+ <separator/>
+ <filter string="PUM" name="filter_pum" domain="[('type_request','=','pum')]"/>
+ <filter string="Reimburse" name="filter_reimburse" domain="[('type_request','=','reimburse')]"/>
+ </search>
+ </field>
+ </record>
+
+ <record id="action_advance_payment_request" model="ir.actions.act_window">
+ <field name="name">Pengajuan Uang Muka &amp; 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>
+ <field name="context">{'search_default_my_requests': 1}</field>
+ <field name="search_view_id" ref="view_advance_payment_request_filter"/>
+ </record>
+
+ <menuitem id="menu_advance_payment_request_acct"
+ name="Pengajuan Uang Muka &amp; Reimburse"
+ parent="account.menu_finance_entries"
+ sequence="114"
+ action="action_advance_payment_request"
+ />
+
+ <menuitem id="menu_advance_payment_request_sales"
+ name="Pengajuan Uang Muka &amp; 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