Files

126 lines
7.1 KiB
XML
Raw Permalink Normal View History

2026-07-01 14:41:49 +07:00
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="xf_doc_approval_document_package_form" model="ir.ui.view">
<field name="name">xf_doc_approval_document_package_form</field>
<field name="model">xf.doc.approval.document.package</field>
<field name="arch" type="xml">
<form class="o_sale_order">
<!-- Hidden fields for logic -->
<field name="is_initiator" invisible="True"/>
<field name="is_approver" invisible="True"/>
<header>
<button string="Send for Approval" name="action_send_for_approval" type="object" class="oe_highlight" invisible="state!='draft' or not is_initiator" confirm="Please confirm that you want to send documents for approval"/>
<button string="Approve" name="action_approve_wizard" type="object" class="oe_highlight" invisible="state!='approval' or not is_approver"/>
<button string="Reject" name="action_reject_wizard" type="object" invisible="state!='approval' or not is_approver"/>
<button string="Set to Draft" name="action_draft" type="object" invisible="state not in ['rejected','cancelled'] or not is_initiator"/>
<button string="Cancel" name="action_cancel" type="object" invisible="state!='approval' or not is_initiator" confirm="Please confirm that you want to cancel approval process"/>
<button string="Force Cancel" name="action_cancel" type="object" invisible="state!='approved'" groups="base.group_system"/>
<field name="state" widget="statusbar" statusbar_visible="draft,approval,approved"/>
</header>
<sheet>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" placeholder="Request Name" nolabel="1" readonly="not state or state != 'draft'"/>
</h1>
</div>
<group name="approvers" string="Approvers">
<field name="approver_ids" nolabel="1" colspan="2" readonly="not state or state != 'draft'">
<list editable="bottom">
<field name="step"/>
<field name="user_id"/>
<field name="role"/>
<field name="state"/>
<field name="method" invisible="True"/>
<field name="notes"/>
</list>
<form>
<group>
<group>
<field name="user_id"/>
<field name="role"/>
</group>
<group>
<field name="step"/>
<field name="state"/>
<field name="method" invisible="True"/>
</group>
</group>
<group>
<field name="notes"/>
</group>
</form>
</field>
</group>
<group invisible="not is_initiator">
<group name="visibility" string="Visibility">
<field name="company_id" readonly="not state or state != 'draft'" widget="selection"/>
<field name="visibility"/>
</group>
<group name="approval" string="Approval">
<field name="approval_team_id" readonly="not state or state != 'draft'" widget="selection"/>
<field name="method" readonly="not state or state != 'draft'"/>
<field name="approval_state"/>
<field name="approval_step"/>
</group>
</group>
<group name="documents" string="Documents">
<field name="document_ids" nolabel="1" colspan="2" readonly="not state or state != 'draft'">
<list editable="bottom">
<field name="name"/>
<field name="file" widget="binary" filename="file_name"/>
<field name="file_name" column_invisible="True"/>
</list>
<form>
<group>
<field name="name"/>
<field name="file" widget="binary" filename="file_name"/>
<field name="file_name" invisible="True"/>
</group>
</form>
</field>
</group>
<group>
<field name="initiator_user_id" readonly="not state or state != 'draft'"/>
</group>
<group name="description" string="Description" invisible="state!='draft' or not description">
<field name="description" nolabel="1" colspan="2"/>
</group>
</sheet>
<chatter/>
<!-- REMOVED MANUAL CHATTER BLOCK -->
<!-- Odoo 19 automatically adds the Chatter if the model inherits mail.thread -->
</form>
</field>
</record>
<record id="xf_doc_approval_document_package_tree" model="ir.ui.view">
<field name="name">xf_doc_approval_document_package_tree</field>
<field name="model">xf.doc.approval.document.package</field>
<field name="arch" type="xml">
<list>
<field name="name"/>
<field name="initiator_user_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="state"/>
</list>
</field>
</record>
<record id="action_xf_doc_approval_document_package" model="ir.actions.act_window">
<field name="name">Documents</field>
<field name="res_model">xf.doc.approval.document.package</field>
</record>
<menuitem
id="menu_xf_doc_approval_document_package"
action="action_xf_doc_approval_document_package"
parent="menu_xf_doc_approval_root"
sequence="1"
/>
</data>
</odoo>