account_custom_internal_tra.../views/bank_internal_transfer_views.xml

103 lines
4.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Tree View -->
<record id="view_bank_internal_transfer_tree" model="ir.ui.view">
<field name="name">bank.internal.transfer.tree</field>
<field name="model">bank.internal.transfer</field>
<field name="arch" type="xml">
<list string="Bank Internal Transfers">
<field name="name"/>
<field name="date"/>
<field name="source_journal_id"/>
<field name="destination_journal_id"/>
<field name="amount" sum="Total"/>
<field name="currency_id" column_invisible="True"/>
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'posted'"/>
</list>
</field>
</record>
<!-- Form View -->
<record id="view_bank_internal_transfer_form" model="ir.ui.view">
<field name="name">bank.internal.transfer.form</field>
<field name="model">bank.internal.transfer</field>
<field name="arch" type="xml">
<form string="Bank Internal Transfer">
<header>
<button name="action_confirm" type="object" string="Confirm" class="oe_highlight" invisible="state != 'draft'"/>
<button name="action_draft" type="object" string="Reset to Draft" invisible="state != 'posted'"/>
<field name="state" widget="statusbar" statusbar_visible="draft,posted"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" readonly="1"/>
</h1>
</div>
<group>
<group>
<field name="source_journal_id" readonly="state != 'draft'"/>
<field name="destination_journal_id" readonly="state != 'draft'"/>
<field name="payment_method_line_id" readonly="state != 'draft'"/>
</group>
<group>
<field name="date" readonly="state != 'draft'"/>
<field name="amount" readonly="state != 'draft'"/>
<field name="currency_id" invisible="1"/>
<field name="memo" readonly="state != 'draft'"/>
<field name="company_id" invisible="1"/>
<field name="source_statement_line_id" invisible="not source_statement_line_id"/>
<field name="destination_statement_line_id" invisible="not destination_statement_line_id"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<!-- Action -->
<record id="action_bank_internal_transfer" model="ir.actions.act_window">
<field name="name">Bank Internal Transfers</field>
<field name="res_model">bank.internal.transfer</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create your first Bank Internal Transfer
</p>
<p>
Transfer funds directly between bank accounts with a simplified 2-entry process.
</p>
</field>
</record>
<!-- Report Template for Internal Transfer (delegates to standard payment document) -->
<template id="report_bank_internal_transfer_receipt">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<!-- Fallback to company lang since partner_id might be empty/company itself -->
<t t-set="lang" t-value="o.company_id.partner_id.lang"/>
<t t-call="account.report_payment_receipt_document" t-lang="lang"/>
</t>
</t>
</template>
<!-- Report Action -->
<record id="action_report_bank_internal_transfer_receipt" model="ir.actions.report">
<field name="name">Payment Receipt</field>
<field name="model">bank.internal.transfer</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">account_custom_internal_transfer.report_bank_internal_transfer_receipt</field>
<field name="report_file">account_custom_internal_transfer.report_bank_internal_transfer_receipt</field>
<field name="binding_model_id" ref="model_bank_internal_transfer"/>
<field name="binding_type">report</field>
</record>
<!-- Menu Item in Accounting App Top Level -->
<menuitem id="menu_bank_internal_transfer"
name="Bank Internal Transfer"
parent="account.menu_finance_entries"
action="action_bank_internal_transfer"
sequence="25"/>
</odoo>