feat: reorder search views - Customer first, add delivery/tags/status fields for ADP, ODSP, MOD

This commit is contained in:
2026-03-10 01:46:15 +00:00
parent 1bfa50aa5f
commit 3342b57469
2 changed files with 902 additions and 52 deletions

View File

@@ -18,6 +18,7 @@
<field name="device_code"/>
<field name="device_type"/>
<field name="manufacturer" optional="show"/>
<field name="build_type" optional="show"/>
<field name="device_description" optional="hide"/>
<field name="adp_price"/>
<field name="max_quantity"/>
@@ -44,6 +45,7 @@
<group string="Device Information">
<field name="device_type"/>
<field name="manufacturer"/>
<field name="build_type"/>
<field name="device_description"/>
</group>
<group string="Pricing">
@@ -77,9 +79,12 @@
<field name="device_description"/>
<separator/>
<filter string="Serial Required" name="sn_required" domain="[('sn_required', '=', True)]"/>
<filter string="Modular" name="filter_modular" domain="[('build_type', '=', 'modular')]"/>
<filter string="Custom Fabricated" name="filter_custom" domain="[('build_type', '=', 'custom_fabricated')]"/>
<separator/>
<filter string="Device Type" name="group_device_type" context="{'group_by': 'device_type'}"/>
<filter string="Manufacturer" name="group_manufacturer" context="{'group_by': 'manufacturer'}"/>
<filter string="Build Type" name="group_build_type" context="{'group_by': 'build_type'}"/>
</search>
</field>
</record>
@@ -233,12 +238,21 @@
<field name="model">sale.order</field>
<field name="arch" type="xml">
<search string="Search ADP Orders">
<field name="name"/>
<field name="partner_id"/>
<field name="partner_id" string="Customer"/>
<field name="name" string="Order Reference"/>
<field name="x_fc_claim_number"/>
<field name="x_fc_authorizer_id"/>
<field name="x_fc_authorizer_id" string="Authorizer"/>
<field name="x_fc_client_ref_1" string="Client Reference 1"/>
<field name="x_fc_client_ref_2" string="Client Reference 2"/>
<field name="x_fc_adp_application_status" string="ADP Status"/>
<field name="state" string="Order Status"/>
<field name="tag_ids" string="Tags"/>
<field name="partner_shipping_id" string="Delivery Name/Address"
filter_domain="['|', '|', '|',
('partner_shipping_id.name', 'ilike', self),
('partner_shipping_id.street', 'ilike', self),
('partner_shipping_id.street2', 'ilike', self),
('partner_shipping_id.city', 'ilike', self)]"/>
<separator/>
<!-- Status Filters - Active Workflow -->
<filter string="Quotation" name="filter_quotation"
@@ -673,11 +687,22 @@
<field name="model">sale.order</field>
<field name="arch" type="xml">
<search string="Search ODSP Cases">
<field name="name"/>
<field name="partner_id"/>
<field name="partner_id" string="Customer"/>
<field name="name" string="Order Reference"/>
<field name="x_fc_odsp_member_id"/>
<field name="x_fc_odsp_office_id"/>
<field name="x_fc_odsp_case_worker_name"/>
<field name="x_fc_odsp_std_status" string="ODSP Status"/>
<field name="x_fc_sa_status" string="SA Mobility Status"/>
<field name="x_fc_ow_status" string="Ontario Works Status"/>
<field name="state" string="Order Status"/>
<field name="tag_ids" string="Tags"/>
<field name="partner_shipping_id" string="Delivery Name/Address"
filter_domain="['|', '|', '|',
('partner_shipping_id.name', 'ilike', self),
('partner_shipping_id.street', 'ilike', self),
('partner_shipping_id.street2', 'ilike', self),
('partner_shipping_id.city', 'ilike', self)]"/>
<separator/>
<!-- ODSP Standard Status -->
<filter string="Quotation" name="filter_quotation"
@@ -778,6 +803,348 @@
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No Ontario Works cases yet</p></field>
</record>
<!-- ===================================================================== -->
<!-- ODSP STANDARD: PER-STATUS ACTIONS -->
<!-- ===================================================================== -->
<record id="action_odsp_std_quotation" model="ir.actions.act_window">
<field name="name">Quotation</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'quotation')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_submitted" model="ir.actions.act_window">
<field name="name">Submitted to ODSP</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'submitted_to_odsp')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_pre_approved" model="ir.actions.act_window">
<field name="name">Pre-Approved</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'pre_approved')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_ready_delivery" model="ir.actions.act_window">
<field name="name">Ready for Delivery</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'ready_delivery')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_delivered" model="ir.actions.act_window">
<field name="name">Delivered</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'delivered')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_pod_submitted" model="ir.actions.act_window">
<field name="name">POD Submitted</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'pod_submitted')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_payment_received" model="ir.actions.act_window">
<field name="name">Payment Received</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'payment_received')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_case_closed" model="ir.actions.act_window">
<field name="name">Case Closed</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'case_closed')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_on_hold" model="ir.actions.act_window">
<field name="name">On Hold</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'on_hold')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_denied" model="ir.actions.act_window">
<field name="name">Denied</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'denied')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<record id="action_odsp_std_cancelled" model="ir.actions.act_window">
<field name="name">Cancelled</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'standard'), ('x_fc_odsp_std_status', '=', 'cancelled')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
</record>
<!-- ===================================================================== -->
<!-- SA MOBILITY: PER-STATUS ACTIONS -->
<!-- ===================================================================== -->
<record id="action_odsp_sa_quotation" model="ir.actions.act_window">
<field name="name">Quotation</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'quotation')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_form_ready" model="ir.actions.act_window">
<field name="name">SA Form Ready</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'form_ready')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_submitted" model="ir.actions.act_window">
<field name="name">Submitted to SA Mobility</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'submitted_to_sa')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_pre_approved" model="ir.actions.act_window">
<field name="name">Pre-Approved</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'pre_approved')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_ready_delivery" model="ir.actions.act_window">
<field name="name">Ready for Delivery</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'ready_delivery')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_delivered" model="ir.actions.act_window">
<field name="name">Delivered</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'delivered')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_pod_submitted" model="ir.actions.act_window">
<field name="name">POD Submitted</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'pod_submitted')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_payment_received" model="ir.actions.act_window">
<field name="name">Payment Received</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'payment_received')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_case_closed" model="ir.actions.act_window">
<field name="name">Case Closed</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'case_closed')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_on_hold" model="ir.actions.act_window">
<field name="name">On Hold</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'on_hold')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_denied" model="ir.actions.act_window">
<field name="name">Denied</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'denied')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<record id="action_odsp_sa_cancelled" model="ir.actions.act_window">
<field name="name">Cancelled</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'sa_mobility'), ('x_fc_sa_status', '=', 'cancelled')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
</record>
<!-- ===================================================================== -->
<!-- ONTARIO WORKS: PER-STATUS ACTIONS -->
<!-- ===================================================================== -->
<record id="action_odsp_ow_quotation" model="ir.actions.act_window">
<field name="name">Quotation</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'quotation')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_documents_ready" model="ir.actions.act_window">
<field name="name">Documents Ready</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'documents_ready')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_submitted" model="ir.actions.act_window">
<field name="name">Submitted to Ontario Works</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'submitted_to_ow')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_payment_received" model="ir.actions.act_window">
<field name="name">Payment Received</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'payment_received')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_ready_delivery" model="ir.actions.act_window">
<field name="name">Ready for Delivery</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'ready_delivery')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_delivered" model="ir.actions.act_window">
<field name="name">Delivered</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'delivered')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_case_closed" model="ir.actions.act_window">
<field name="name">Case Closed</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'case_closed')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_on_hold" model="ir.actions.act_window">
<field name="name">On Hold</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'on_hold')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_denied" model="ir.actions.act_window">
<field name="name">Denied</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'denied')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<record id="action_odsp_ow_cancelled" model="ir.actions.act_window">
<field name="name">Cancelled</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form,kanban</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_odsp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_odsp"/>
<field name="domain">[('x_fc_sale_type', 'in', ['odsp', 'adp_odsp']), ('x_fc_odsp_division', '=', 'ontario_works'), ('x_fc_ow_status', '=', 'cancelled')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
</record>
<!-- ===================================================================== -->
<!-- MARCH OF DIMES: KANBAN VIEW -->
<!-- ===================================================================== -->
@@ -894,10 +1261,21 @@
<field name="model">sale.order</field>
<field name="arch" type="xml">
<search string="Search March of Dimes Cases">
<field name="name"/>
<field name="partner_id"/>
<field name="x_fc_case_reference"/>
<field name="x_fc_case_handler"/>
<field name="partner_id" string="Customer"/>
<field name="name" string="Order Reference"/>
<field name="x_fc_case_reference" string="HVMP Reference"/>
<field name="x_fc_case_handler" string="Case Handler"/>
<field name="x_fc_case_worker" string="Case Worker"/>
<field name="x_fc_mod_status" string="MOD Status"/>
<field name="x_fc_mod_production_status" string="Production Stage"/>
<field name="state" string="Order Status"/>
<field name="tag_ids" string="Tags"/>
<field name="partner_shipping_id" string="Delivery Name/Address"
filter_domain="['|', '|', '|',
('partner_shipping_id.name', 'ilike', self),
('partner_shipping_id.street', 'ilike', self),
('partner_shipping_id.street2', 'ilike', self),
('partner_shipping_id.city', 'ilike', self)]"/>
<separator/>
<!-- Status Filters - Main Workflow -->
<filter string="Schedule Assessment" name="filter_need_to_schedule"
@@ -947,10 +1325,10 @@
</record>
<!-- ===================================================================== -->
<!-- MARCH OF DIMES: ACTION -->
<!-- MARCH OF DIMES: ACTIONS -->
<!-- ===================================================================== -->
<record id="action_fc_march_of_dimes_orders" model="ir.actions.act_window">
<field name="name">March of Dimes Cases</field>
<field name="name">All MOD Cases</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
@@ -959,7 +1337,188 @@
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No March of Dimes cases yet</p></field>
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No MOD cases yet</p></field>
</record>
<record id="action_mod_schedule_assessment" model="ir.actions.act_window">
<field name="name">Schedule Assessment</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'need_to_schedule')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_assessment_booked" model="ir.actions.act_window">
<field name="name">Assessment Booked</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'assessment_scheduled')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_assessment_done" model="ir.actions.act_window">
<field name="name">Assessment Done</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'assessment_completed')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_processing_drawing" model="ir.actions.act_window">
<field name="name">Processing Drawing</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'processing_drawings')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_quote_sent" model="ir.actions.act_window">
<field name="name">Quote Sent</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'quote_submitted')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_awaiting_funding" model="ir.actions.act_window">
<field name="name">Awaiting Funding</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'awaiting_funding')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_approved" model="ir.actions.act_window">
<field name="name">Approved</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'funding_approved')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_pca_received" model="ir.actions.act_window">
<field name="name">PCA Received</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'contract_received')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_in_production" model="ir.actions.act_window">
<field name="name">In Production</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'in_production')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_complete" model="ir.actions.act_window">
<field name="name">Complete</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'project_complete')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_pod_sent" model="ir.actions.act_window">
<field name="name">POD Sent</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'pod_submitted')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_closed" model="ir.actions.act_window">
<field name="name">Closed</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'case_closed')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<!-- MOD Special Status Actions -->
<record id="action_mod_on_hold" model="ir.actions.act_window">
<field name="name">On Hold</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'on_hold')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_denied" model="ir.actions.act_window">
<field name="name">Denied</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'funding_denied')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_mod_cancelled" model="ir.actions.act_window">
<field name="name">Cancelled</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,kanban,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_sale_order_list_mod')}),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_sale_order_kanban_mod')})]"/>
<field name="search_view_id" ref="view_sale_order_search_mod"/>
<field name="domain">[('x_fc_sale_type', '=', 'march_of_dimes'), ('x_fc_mod_status', '=', 'cancelled')]</field>
<field name="context">{'default_x_fc_sale_type': 'march_of_dimes'}</field>
</record>
<record id="action_fc_muscular_dystrophy_orders" model="ir.actions.act_window">
@@ -1070,6 +1629,90 @@
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<!-- ===================================================================== -->
<!-- INVOICE ACTIONS PER FUNDING SOURCE -->
<!-- ===================================================================== -->
<record id="action_adp_client_invoices" model="ir.actions.act_window">
<field name="name">ADP Client Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'adp_client'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_odsp_invoices" model="ir.actions.act_window">
<field name="name">ODSP Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', 'in', ['odsp', 'adp_odsp']), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_mod_invoices" model="ir.actions.act_window">
<field name="name">MOD Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'march_of_dimes'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_wsib_invoices" model="ir.actions.act_window">
<field name="name">WSIB Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'wsib'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_insurance_invoices" model="ir.actions.act_window">
<field name="name">Insurance Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'insurance'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_direct_private_invoices" model="ir.actions.act_window">
<field name="name">Direct/Private Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'direct_private'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_hardship_invoices" model="ir.actions.act_window">
<field name="name">Hardship Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'hardship'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_rental_invoices" model="ir.actions.act_window">
<field name="name">Rental Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'rental'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_muscular_dystrophy_invoices" model="ir.actions.act_window">
<field name="name">Muscular Dystrophy Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'muscular_dystrophy'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<record id="action_other_invoices" model="ir.actions.act_window">
<field name="name">Other Invoices</field>
<field name="res_model">account.move</field>
<field name="view_mode">list,form</field>
<field name="domain">[('x_fc_invoice_type', '=', 'other'), ('move_type', 'in', ['out_invoice', 'out_refund'])]</field>
<field name="context">{'default_move_type': 'out_invoice'}</field>
</record>
<!-- Open AI Agent Chat -->
<record id="action_fc_open_ai_chat" model="ir.actions.server">
<field name="name">Ask Fusion Claims AI</field>
@@ -1102,11 +1745,15 @@ else:
name="Fusion Claims"
web_icon="fusion_claims,static/description/icon.png"
sequence="30"
groups="group_fusion_claims_user,group_field_technician"/>
groups="group_fusion_claims_user,fusion_tasks.group_field_technician"/>
<!-- ===== ALL INVOICES ===== -->
<menuitem id="menu_fc_all_invoices" name="All Invoices" parent="menu_adp_claims_root"
action="action_fc_all_invoices" sequence="3"/>
<!-- ===== LTC MANAGEMENT ===== -->
<menuitem id="menu_fc_ltc"
name="LTC Management"
name="LTC"
parent="menu_adp_claims_root"
sequence="5"/>
<menuitem id="menu_ltc_overview"
@@ -1163,6 +1810,8 @@ else:
action="action_adp_orders_all" sequence="1"/>
<menuitem id="menu_adp_invoices" name="ADP Invoices" parent="menu_fc_adp"
action="action_adp_invoices" sequence="2"/>
<menuitem id="menu_adp_client_invoices" name="ADP Client Invoices" parent="menu_fc_adp"
action="action_adp_client_invoices" sequence="3"/>
<menuitem id="menu_adp_quotations"
name="Quotation Stage"
@@ -1270,14 +1919,139 @@ else:
sequence="25"/>
<menuitem id="menu_fc_odsp_all" name="All ODSP Cases" parent="menu_fc_odsp"
action="action_fc_odsp_orders" sequence="1"/>
<menuitem id="menu_odsp_invoices" name="ODSP Invoices" parent="menu_fc_odsp"
action="action_odsp_invoices" sequence="2"/>
<!-- ===== ODSP Standard ===== -->
<menuitem id="menu_fc_odsp_standard" name="ODSP Standard" parent="menu_fc_odsp"
action="action_fc_odsp_standard_orders" sequence="10"/>
sequence="10"/>
<menuitem id="menu_odsp_std_all" name="All Standard Cases" parent="menu_fc_odsp_standard"
action="action_fc_odsp_standard_orders" sequence="1"/>
<menuitem id="menu_odsp_std_quotation" name="Quotation" parent="menu_fc_odsp_standard"
action="action_odsp_std_quotation" sequence="10"/>
<menuitem id="menu_odsp_std_submitted" name="Submitted to ODSP" parent="menu_fc_odsp_standard"
action="action_odsp_std_submitted" sequence="12"/>
<menuitem id="menu_odsp_std_pre_approved" name="Pre-Approved" parent="menu_fc_odsp_standard"
action="action_odsp_std_pre_approved" sequence="14"/>
<menuitem id="menu_odsp_std_ready_delivery" name="Ready for Delivery" parent="menu_fc_odsp_standard"
action="action_odsp_std_ready_delivery" sequence="16"/>
<menuitem id="menu_odsp_std_delivered" name="Delivered" parent="menu_fc_odsp_standard"
action="action_odsp_std_delivered" sequence="18"/>
<menuitem id="menu_odsp_std_pod_submitted" name="POD Submitted" parent="menu_fc_odsp_standard"
action="action_odsp_std_pod_submitted" sequence="20"/>
<menuitem id="menu_odsp_std_payment_received" name="Payment Received" parent="menu_fc_odsp_standard"
action="action_odsp_std_payment_received" sequence="22"/>
<menuitem id="menu_odsp_std_case_closed" name="Case Closed" parent="menu_fc_odsp_standard"
action="action_odsp_std_case_closed" sequence="24"/>
<menuitem id="menu_odsp_std_special" name="Special Statuses" parent="menu_fc_odsp_standard"
sequence="50"/>
<menuitem id="menu_odsp_std_on_hold" name="On Hold" parent="menu_odsp_std_special"
action="action_odsp_std_on_hold" sequence="10"/>
<menuitem id="menu_odsp_std_denied" name="Denied" parent="menu_odsp_std_special"
action="action_odsp_std_denied" sequence="20"/>
<menuitem id="menu_odsp_std_cancelled" name="Cancelled" parent="menu_odsp_std_special"
action="action_odsp_std_cancelled" sequence="30"/>
<!-- ===== SA Mobility ===== -->
<menuitem id="menu_fc_odsp_sa_mobility" name="SA Mobility" parent="menu_fc_odsp"
action="action_fc_odsp_sa_mobility_orders" sequence="20"/>
sequence="20"/>
<menuitem id="menu_odsp_sa_all" name="All SA Cases" parent="menu_fc_odsp_sa_mobility"
action="action_fc_odsp_sa_mobility_orders" sequence="1"/>
<menuitem id="menu_odsp_sa_quotation" name="Quotation" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_quotation" sequence="10"/>
<menuitem id="menu_odsp_sa_form_ready" name="SA Form Ready" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_form_ready" sequence="12"/>
<menuitem id="menu_odsp_sa_submitted" name="Submitted to SA" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_submitted" sequence="14"/>
<menuitem id="menu_odsp_sa_pre_approved" name="Pre-Approved" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_pre_approved" sequence="16"/>
<menuitem id="menu_odsp_sa_ready_delivery" name="Ready for Delivery" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_ready_delivery" sequence="18"/>
<menuitem id="menu_odsp_sa_delivered" name="Delivered" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_delivered" sequence="20"/>
<menuitem id="menu_odsp_sa_pod_submitted" name="POD Submitted" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_pod_submitted" sequence="22"/>
<menuitem id="menu_odsp_sa_payment_received" name="Payment Received" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_payment_received" sequence="24"/>
<menuitem id="menu_odsp_sa_case_closed" name="Case Closed" parent="menu_fc_odsp_sa_mobility"
action="action_odsp_sa_case_closed" sequence="26"/>
<menuitem id="menu_odsp_sa_special" name="Special Statuses" parent="menu_fc_odsp_sa_mobility"
sequence="50"/>
<menuitem id="menu_odsp_sa_on_hold" name="On Hold" parent="menu_odsp_sa_special"
action="action_odsp_sa_on_hold" sequence="10"/>
<menuitem id="menu_odsp_sa_denied" name="Denied" parent="menu_odsp_sa_special"
action="action_odsp_sa_denied" sequence="20"/>
<menuitem id="menu_odsp_sa_cancelled" name="Cancelled" parent="menu_odsp_sa_special"
action="action_odsp_sa_cancelled" sequence="30"/>
<!-- ===== Ontario Works ===== -->
<menuitem id="menu_fc_odsp_ontario_works" name="Ontario Works" parent="menu_fc_odsp"
action="action_fc_odsp_ontario_works_orders" sequence="30"/>
<menuitem id="menu_fc_march_of_dimes" name="March of Dimes" parent="menu_adp_claims_root"
action="action_fc_march_of_dimes_orders" sequence="30"/>
sequence="30"/>
<menuitem id="menu_odsp_ow_all" name="All OW Cases" parent="menu_fc_odsp_ontario_works"
action="action_fc_odsp_ontario_works_orders" sequence="1"/>
<menuitem id="menu_odsp_ow_quotation" name="Quotation" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_quotation" sequence="10"/>
<menuitem id="menu_odsp_ow_documents_ready" name="Documents Ready" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_documents_ready" sequence="12"/>
<menuitem id="menu_odsp_ow_submitted" name="Submitted to OW" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_submitted" sequence="14"/>
<menuitem id="menu_odsp_ow_payment_received" name="Payment Received" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_payment_received" sequence="16"/>
<menuitem id="menu_odsp_ow_ready_delivery" name="Ready for Delivery" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_ready_delivery" sequence="18"/>
<menuitem id="menu_odsp_ow_delivered" name="Delivered" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_delivered" sequence="20"/>
<menuitem id="menu_odsp_ow_case_closed" name="Case Closed" parent="menu_fc_odsp_ontario_works"
action="action_odsp_ow_case_closed" sequence="22"/>
<menuitem id="menu_odsp_ow_special" name="Special Statuses" parent="menu_fc_odsp_ontario_works"
sequence="50"/>
<menuitem id="menu_odsp_ow_on_hold" name="On Hold" parent="menu_odsp_ow_special"
action="action_odsp_ow_on_hold" sequence="10"/>
<menuitem id="menu_odsp_ow_denied" name="Denied" parent="menu_odsp_ow_special"
action="action_odsp_ow_denied" sequence="20"/>
<menuitem id="menu_odsp_ow_cancelled" name="Cancelled" parent="menu_odsp_ow_special"
action="action_odsp_ow_cancelled" sequence="30"/>
<menuitem id="menu_fc_march_of_dimes" name="MOD" parent="menu_adp_claims_root"
sequence="30"/>
<menuitem id="menu_mod_all_cases" name="All MOD Cases" parent="menu_fc_march_of_dimes"
action="action_fc_march_of_dimes_orders" sequence="1"/>
<menuitem id="menu_mod_invoices" name="MOD Invoices" parent="menu_fc_march_of_dimes"
action="action_mod_invoices" sequence="2"/>
<menuitem id="menu_mod_schedule_assessment" name="Schedule Assessment" parent="menu_fc_march_of_dimes"
action="action_mod_schedule_assessment" sequence="10"/>
<menuitem id="menu_mod_assessment_booked" name="Assessment Booked" parent="menu_fc_march_of_dimes"
action="action_mod_assessment_booked" sequence="12"/>
<menuitem id="menu_mod_assessment_done" name="Assessment Done" parent="menu_fc_march_of_dimes"
action="action_mod_assessment_done" sequence="14"/>
<menuitem id="menu_mod_processing_drawing" name="Processing Drawing" parent="menu_fc_march_of_dimes"
action="action_mod_processing_drawing" sequence="16"/>
<menuitem id="menu_mod_quote_sent" name="Quote Sent" parent="menu_fc_march_of_dimes"
action="action_mod_quote_sent" sequence="18"/>
<menuitem id="menu_mod_awaiting_funding" name="Awaiting Funding" parent="menu_fc_march_of_dimes"
action="action_mod_awaiting_funding" sequence="20"/>
<menuitem id="menu_mod_approved" name="Approved" parent="menu_fc_march_of_dimes"
action="action_mod_approved" sequence="22"/>
<menuitem id="menu_mod_pca_received" name="PCA Received" parent="menu_fc_march_of_dimes"
action="action_mod_pca_received" sequence="24"/>
<menuitem id="menu_mod_in_production" name="In Production" parent="menu_fc_march_of_dimes"
action="action_mod_in_production" sequence="26"/>
<menuitem id="menu_mod_complete" name="Complete" parent="menu_fc_march_of_dimes"
action="action_mod_complete" sequence="28"/>
<menuitem id="menu_mod_pod_sent" name="POD Sent" parent="menu_fc_march_of_dimes"
action="action_mod_pod_sent" sequence="30"/>
<menuitem id="menu_mod_closed" name="Closed" parent="menu_fc_march_of_dimes"
action="action_mod_closed" sequence="32"/>
<!-- MOD Special Statuses -->
<menuitem id="menu_mod_special_statuses" name="Special Statuses" parent="menu_fc_march_of_dimes"
sequence="50"/>
<menuitem id="menu_mod_on_hold" name="On Hold" parent="menu_mod_special_statuses"
action="action_mod_on_hold" sequence="10"/>
<menuitem id="menu_mod_denied" name="Denied" parent="menu_mod_special_statuses"
action="action_mod_denied" sequence="20"/>
<menuitem id="menu_mod_cancelled" name="Cancelled" parent="menu_mod_special_statuses"
action="action_mod_cancelled" sequence="30"/>
<!-- ===== OTHER FUNDINGS SUBMENU ===== -->
<menuitem id="menu_fc_other_fundings" name="Other Fundings" parent="menu_adp_claims_root"
sequence="35"/>
@@ -1292,6 +2066,24 @@ else:
<menuitem id="menu_fc_wsib" name="WSIB" parent="menu_fc_other_fundings"
action="action_fc_wsib_orders" sequence="50"/>
<!-- Invoices submenu under Other Fundings -->
<menuitem id="menu_fc_other_invoices_sep" name="Invoices" parent="menu_fc_other_fundings"
sequence="60"/>
<menuitem id="menu_wsib_invoices" name="WSIB Invoices" parent="menu_fc_other_invoices_sep"
action="action_wsib_invoices" sequence="10"/>
<menuitem id="menu_insurance_invoices" name="Insurance Invoices" parent="menu_fc_other_invoices_sep"
action="action_insurance_invoices" sequence="20"/>
<menuitem id="menu_direct_private_invoices" name="Direct/Private Invoices" parent="menu_fc_other_invoices_sep"
action="action_direct_private_invoices" sequence="30"/>
<menuitem id="menu_hardship_invoices" name="Hardship Invoices" parent="menu_fc_other_invoices_sep"
action="action_hardship_invoices" sequence="40"/>
<menuitem id="menu_rental_invoices" name="Rental Invoices" parent="menu_fc_other_invoices_sep"
action="action_rental_invoices" sequence="50"/>
<menuitem id="menu_muscular_dystrophy_invoices" name="Muscular Dystrophy Invoices" parent="menu_fc_other_invoices_sep"
action="action_muscular_dystrophy_invoices" sequence="60"/>
<menuitem id="menu_other_type_invoices" name="Other Invoices" parent="menu_fc_other_invoices_sep"
action="action_other_invoices" sequence="70"/>
<!-- ===== CLIENT INTELLIGENCE ===== -->
<menuitem id="menu_fc_client_intelligence"
name="Client Intelligence"

View File

@@ -41,15 +41,26 @@
<field name="x_fc_client_type" string="Client Type"
invisible="x_fc_sale_type not in ('adp', 'adp_odsp')"/>
<!-- Delivery Status -->
<field name="x_fc_show_delivery_datetime" invisible="1"/>
<field name="x_fc_delivery_status" string="Delivery Status"/>
<field name="x_fc_delivery_datetime" string="Delivery Date/Time"
invisible="not x_fc_show_delivery_datetime"/>
</xpath>
</field>
</record>
<!-- ===================================================================== -->
<!-- SALE ORDER FORM: Move Salesperson to header (after Quotation Template) -->
<!-- ===================================================================== -->
<record id="view_order_form_fusion_claims_salesperson" model="ir.ui.view">
<field name="name">sale.order.form.fusion.central.salesperson</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="priority">51</field>
<field name="arch" type="xml">
<field name="sale_order_template_id" position="after">
<field name="user_id" widget="many2one_avatar_user"/>
</field>
<xpath expr="//page[@name='other_information']//field[@name='user_id']" position="replace"/>
</field>
</record>
<!-- ===================================================================== -->
<!-- SALE ORDER FORM: March of Dimes Case Details -->
<!-- ===================================================================== -->
@@ -1077,6 +1088,13 @@
invisible="x_fc_technician_task_count == 0">
<field name="x_fc_technician_task_count" widget="statinfo" string="Tasks"/>
</button>
<!-- Page 11 Signing Requests -->
<button name="action_view_page11_requests" type="object"
class="oe_stat_button" icon="fa-pencil-square-o"
invisible="page11_sign_request_count == 0">
<field name="page11_sign_request_count" widget="statinfo" string="Page 11 Requests"/>
</button>
</xpath>
</field>
</record>
@@ -1183,12 +1201,24 @@
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status != 'quotation'"
help="Move to Assessment Scheduled status"/>
<!-- Assessment Scheduled -> Complete Assessment -->
<!-- Assessment Scheduled (or Quotation override) -> Complete Assessment -->
<button name="action_complete_assessment" type="object"
string="Complete Assessment" class="btn-info"
icon="fa-check-square-o"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status != 'assessment_scheduled'"
help="Mark assessment as completed"/>
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('quotation', 'assessment_scheduled')"
help="Mark assessment as completed (override available from Quotation stage)"/>
<!-- Request Page 11 Remote Signature (before Application Received) -->
<button name="action_request_page11_signature" type="object"
string="Request Page 11 Signature" class="btn-warning"
icon="fa-pencil-square-o"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('assessment_completed', 'waiting_for_application', 'application_received') or x_fc_signed_pages_11_12"
help="Send Page 11 to a family member or agent for remote digital signing"/>
<button name="action_request_page11_signature" type="object"
string="Re-sign Page 11" class="btn-secondary"
icon="fa-repeat"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('assessment_completed', 'waiting_for_application', 'application_received') or not x_fc_signed_pages_11_12"
help="Page 11 already signed. Click to request a new signature."/>
<!-- Waiting for Application -> Application Received -->
<button name="action_application_received" type="object"
@@ -1260,15 +1290,22 @@
<button name="%(fusion_claims.action_set_status_on_hold)d"
type="action" string="Put On Hold" class="btn-warning"
icon="fa-pause"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('approved', 'approved_deduction', 'ready_delivery', 'ready_bill')"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('submitted', 'resubmitted', 'needs_correction', 'accepted', 'approved', 'approved_deduction', 'ready_delivery', 'ready_bill')"
help="Put this application on hold"/>
<button name="%(fusion_claims.action_set_status_withdrawn)d"
type="action" string="Withdraw" class="btn-secondary"
icon="fa-undo"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('approved', 'approved_deduction', 'ready_bill')"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status not in ('submitted', 'resubmitted', 'needs_correction', 'accepted', 'approved', 'approved_deduction', 'ready_bill')"
help="Withdraw this application"/>
<button name="action_resubmit_from_withdrawn" type="object"
string="Resubmit Application" class="btn-primary"
icon="fa-repeat"
invisible="not x_fc_is_adp_sale or x_fc_adp_application_status != 'withdrawn'"
confirm="This will return the application to Ready for Submission status. Continue?"
help="Return this withdrawn application to Ready for Submission"/>
<!-- ============================================================ -->
<!-- REVIEW BUTTONS (color changes based on verified/approved) -->
<!-- ============================================================ -->
@@ -1277,14 +1314,14 @@
<button name="action_open_submission_verification_wizard" type="object"
string="Review Submission" class="fc-btn-status-good"
icon="fa-check-circle"
invisible="not x_fc_is_adp_sale or not x_fc_submission_verified or x_fc_adp_application_status in ('quotation', 'assessment_scheduled', 'assessment_completed', 'waiting_for_application', 'application_received', 'ready_submission', 'approved', 'approved_deduction', 'ready_bill', 'billed', 'case_closed', 'denied', 'withdrawn', 'cancelled', 'expired')"
invisible="not x_fc_is_adp_sale or not x_fc_submission_verified or x_fc_adp_application_status in ('quotation', 'assessment_scheduled', 'assessment_completed', 'waiting_for_application', 'application_received', 'ready_submission', 'needs_correction', 'approved', 'approved_deduction', 'ready_delivery', 'ready_bill', 'billed', 'case_closed', 'on_hold', 'denied', 'withdrawn', 'cancelled', 'expired')"
help="Submission verified - click to review"/>
<!-- Review Submission: LIGHT RED when not yet verified -->
<button name="action_open_submission_verification_wizard" type="object"
string="Review Submission" class="fc-btn-status-bad"
icon="fa-exclamation-triangle"
invisible="not x_fc_is_adp_sale or x_fc_submission_verified or x_fc_adp_application_status in ('quotation', 'assessment_scheduled', 'assessment_completed', 'waiting_for_application', 'application_received', 'ready_submission', 'approved', 'approved_deduction', 'ready_bill', 'billed', 'case_closed', 'denied', 'withdrawn', 'cancelled', 'expired')"
invisible="not x_fc_is_adp_sale or x_fc_submission_verified or x_fc_adp_application_status in ('quotation', 'assessment_scheduled', 'assessment_completed', 'waiting_for_application', 'application_received', 'ready_submission', 'needs_correction', 'approved', 'approved_deduction', 'ready_delivery', 'ready_bill', 'billed', 'case_closed', 'on_hold', 'denied', 'withdrawn', 'cancelled', 'expired')"
help="Submission not yet verified - click to review"/>
<!-- Review Approval: GREEN when all devices approved -->
@@ -1486,6 +1523,12 @@
class="btn-success btn-sm me-1"
icon="fa-play"
invisible="x_fc_adp_application_status != 'on_hold'"/>
<button name="action_resubmit_from_withdrawn" type="object"
string="Resubmit Application"
class="btn-primary btn-sm me-1"
icon="fa-repeat"
invisible="x_fc_adp_application_status != 'withdrawn'"
confirm="This will return the application to Ready for Submission status. Continue?"/>
<button name="%(fusion_claims.action_set_status_withdrawn)d"
type="action" string="Withdraw"
class="btn-secondary btn-sm me-1"
@@ -1549,7 +1592,7 @@
<!-- Application Details - Show after Ready for Submission stage -->
<group string="Application Details" invisible="not x_fc_stage_after_ready_submission">
<group>
<field name="x_fc_client_ref_1" placeholder="e.g., DOJO"
<field name="x_fc_client_ref_1" placeholder="e.g., JODO"
required="x_fc_stage_after_ready_submission"
readonly="x_fc_case_locked"/>
<field name="x_fc_client_ref_2" placeholder="e.g., 1234"
@@ -1804,8 +1847,14 @@
widget="binary" nolabel="1" class="fc-tile-upload-field"
required="x_fc_is_adp_sale and x_fc_adp_application_status not in ('quotation', 'assessment_scheduled', 'assessment_completed', 'waiting_for_application', 'application_received')"
readonly="x_fc_case_locked"/>
<button name="action_request_page11_signature" type="object"
class="btn btn-sm btn-outline-primary mt-1"
string="Request Signature"
title="Send Page 11 to a family member or agent for remote signing"
invisible="x_fc_signed_pages_11_12 or not x_fc_is_adp_sale"/>
</div>
</div>
<field name="page11_sign_status" invisible="1"/>
</div>
</div>
</div>
@@ -2094,22 +2143,6 @@
</div>
</div>
<!-- SYNC TO INVOICES - Shows when there are invoices to sync -->
<div class="alert alert-secondary mb-3" role="alert"
invisible="not x_fc_has_adp_invoice and not x_fc_has_client_invoice">
<div class="d-flex align-items-center justify-content-between">
<div>
<strong><i class="fa fa-refresh"/> Sync ADP Fields</strong>
<p class="mb-0 small text-muted">
Push claim number, client references, dates, and serial numbers from this order to linked invoices.
</p>
</div>
<button name="action_sync_adp_fields" type="object"
string="Sync to Invoices" class="btn btn-secondary btn-sm ms-3"
icon="fa-refresh"/>
</div>
</div>
<!-- DEDUCTION ALERT - Only show when there are deductions -->
<field name="x_fc_has_deductions" invisible="1"/>
<field name="x_fc_total_deduction_amount" invisible="1"/>
@@ -2145,6 +2178,7 @@
help="Device approved by ADP"/>
<field name="name" string="Description" class="text-wrap"/>
<field name="x_fc_adp_device_type" string="Device Type" optional="show" width="150px"/>
<field name="x_fc_adp_build_type" string="Build" optional="show" width="100px"/>
<field name="x_fc_serial_number" string="S/N" optional="show" width="90px"/>
<field name="product_uom_qty" string="Qty" width="60px"/>
<field name="price_unit" string="Unit $" width="100px"/>
@@ -2377,9 +2411,11 @@
<attribute name="optional">hide</attribute>
</xpath>
<!-- Serial Number: after description, always visible -->
<!-- Serial Number and Build Type: after description -->
<xpath expr="//field[@name='order_line']/list/field[@name='name']" position="after">
<field name="x_fc_serial_number" string="S/N" optional="show"/>
<field name="x_fc_adp_build_type" string="Build" optional="hide"
column_invisible="not parent.x_fc_is_adp_sale"/>
</xpath>
<!-- Shorten Qty label -->
@@ -2431,6 +2467,28 @@
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<!-- Reorder: Customer first -->
<xpath expr="//field[@name='name']" position="before">
<field name="partner_id" string="Customer"/>
</xpath>
<xpath expr="//field[@name='partner_id'][@operator='child_of']" position="replace"/>
<!-- Add Fusion-specific search fields after base fields -->
<xpath expr="//field[@name='activity_type_id']" position="after">
<field name="x_fc_claim_number" string="Claim Number"/>
<field name="x_fc_authorizer_id" string="Authorizer"/>
<field name="x_fc_sale_type" string="Sale Type"/>
<field name="x_fc_adp_application_status" string="ADP Status"/>
<field name="state" string="Order Status"/>
<field name="tag_ids" string="Tags"/>
<field name="partner_shipping_id" string="Delivery Name/Address"
filter_domain="['|', '|', '|',
('partner_shipping_id.name', 'ilike', self),
('partner_shipping_id.street', 'ilike', self),
('partner_shipping_id.street2', 'ilike', self),
('partner_shipping_id.city', 'ilike', self)]"/>
</xpath>
<xpath expr="//search" position="inside">
<separator/>
<!-- ADP Status Filters (using x_fc_adp_application_status) -->