This commit is contained in:
gsinghpal
2026-02-24 01:18:44 -05:00
parent e8e554de95
commit f85658c03a
41 changed files with 4440 additions and 119 deletions

View File

@@ -612,13 +612,131 @@
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No ACSD cases yet</p></field>
</record>
<!-- ===================================================================== -->
<!-- ODSP: LIST VIEW -->
<!-- ===================================================================== -->
<record id="view_sale_order_list_odsp" model="ir.ui.view">
<field name="name">sale.order.list.odsp</field>
<field name="model">sale.order</field>
<field name="arch" type="xml">
<list string="ODSP Cases" default_order="date_order desc, id desc">
<!-- Always visible -->
<field name="name" string="Order"/>
<field name="date_order" string="Date" optional="show"/>
<field name="partner_id" string="Client"/>
<field name="x_fc_odsp_member_id" string="Member ID" optional="show"/>
<field name="x_fc_odsp_division" optional="show"/>
<!-- Division-specific status columns -->
<field name="x_fc_odsp_std_status" widget="badge" string="ODSP Status"
decoration-info="x_fc_odsp_std_status in ('quotation','submitted_to_odsp')"
decoration-warning="x_fc_odsp_std_status in ('pre_approved','on_hold')"
decoration-success="x_fc_odsp_std_status in ('ready_delivery','delivered','pod_submitted','payment_received','case_closed')"
decoration-danger="x_fc_odsp_std_status in ('denied','cancelled')"
optional="show"/>
<field name="x_fc_sa_status" widget="badge" string="SA Status"
decoration-info="x_fc_sa_status in ('quotation','form_ready','submitted_to_sa')"
decoration-warning="x_fc_sa_status in ('pre_approved','on_hold')"
decoration-success="x_fc_sa_status in ('ready_delivery','delivered','pod_submitted','payment_received','case_closed')"
decoration-danger="x_fc_sa_status in ('denied','cancelled')"
optional="hide"/>
<field name="x_fc_ow_status" widget="badge" string="OW Status"
decoration-info="x_fc_ow_status in ('quotation','documents_ready','submitted_to_ow')"
decoration-warning="x_fc_ow_status in ('on_hold')"
decoration-success="x_fc_ow_status in ('payment_received','ready_delivery','delivered','case_closed')"
decoration-danger="x_fc_ow_status in ('denied','cancelled')"
optional="hide"/>
<!-- ODSP contacts -->
<field name="x_fc_odsp_office_id" optional="show"/>
<field name="x_fc_odsp_case_worker_name" optional="show"/>
<field name="user_id" string="Sales Rep" optional="hide"/>
<field name="x_fc_authorizer_id" optional="hide"/>
<!-- Amounts -->
<field name="amount_total" widget="monetary" sum="Grand Total" optional="show"/>
<!-- Misc -->
<field name="x_fc_on_hold_date" optional="hide"/>
<field name="x_fc_case_locked" optional="hide"/>
<field name="state" widget="badge" decoration-success="state == 'sale'"
decoration-info="state == 'draft'" optional="hide"/>
</list>
</field>
</record>
<!-- ===================================================================== -->
<!-- ODSP: SEARCH VIEW -->
<!-- ===================================================================== -->
<record id="view_sale_order_search_odsp" model="ir.ui.view">
<field name="name">sale.order.search.odsp</field>
<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="x_fc_odsp_member_id"/>
<field name="x_fc_odsp_office_id"/>
<field name="x_fc_odsp_case_worker_name"/>
<separator/>
<!-- ODSP Standard Status -->
<filter string="Quotation" name="filter_quotation"
domain="[('x_fc_odsp_std_status', '=', 'quotation')]"/>
<filter string="Submitted to ODSP" name="filter_submitted_odsp"
domain="[('x_fc_odsp_std_status', '=', 'submitted_to_odsp')]"/>
<filter string="Pre-Approved" name="filter_pre_approved"
domain="[('x_fc_odsp_std_status', '=', 'pre_approved')]"/>
<filter string="Ready for Delivery" name="filter_ready_delivery"
domain="[('x_fc_odsp_std_status', '=', 'ready_delivery')]"/>
<filter string="Delivered" name="filter_delivered"
domain="[('x_fc_odsp_std_status', '=', 'delivered')]"/>
<filter string="POD Submitted" name="filter_pod_submitted"
domain="[('x_fc_odsp_std_status', '=', 'pod_submitted')]"/>
<filter string="Payment Received" name="filter_payment_received"
domain="[('x_fc_odsp_std_status', '=', 'payment_received')]"/>
<filter string="Case Closed" name="filter_case_closed"
domain="[('x_fc_odsp_std_status', '=', 'case_closed')]"/>
<separator/>
<!-- Special Status -->
<filter string="On Hold" name="filter_on_hold"
domain="[('x_fc_odsp_std_status', '=', 'on_hold')]"/>
<filter string="Denied" name="filter_denied"
domain="[('x_fc_odsp_std_status', '=', 'denied')]"/>
<filter string="Cancelled" name="filter_cancelled"
domain="[('x_fc_odsp_std_status', '=', 'cancelled')]"/>
<separator/>
<!-- Division Filters -->
<filter string="ODSP Standard" name="filter_division_standard"
domain="[('x_fc_odsp_division', '=', 'standard')]"/>
<filter string="SA Mobility" name="filter_division_sa"
domain="[('x_fc_odsp_division', '=', 'sa_mobility')]"/>
<filter string="Ontario Works" name="filter_division_ow"
domain="[('x_fc_odsp_division', '=', 'ontario_works')]"/>
<separator/>
<!-- Group By -->
<filter string="ODSP Division" name="group_division" context="{'group_by': 'x_fc_odsp_division'}"/>
<filter string="ODSP Status" name="group_odsp_status" context="{'group_by': 'x_fc_odsp_std_status'}"/>
<filter string="SA Status" name="group_sa_status" context="{'group_by': 'x_fc_sa_status'}"/>
<filter string="OW Status" name="group_ow_status" context="{'group_by': 'x_fc_ow_status'}"/>
<filter string="ODSP Office" name="group_odsp_office" context="{'group_by': 'x_fc_odsp_office_id'}"/>
<filter string="Salesperson" name="group_salesperson" context="{'group_by': 'user_id'}"/>
<filter string="Create Month" name="group_create_month" context="{'group_by': 'create_date:month'}"/>
<filter string="Create Quarter" name="group_create_quarter" context="{'group_by': 'create_date:quarter'}"/>
<filter string="Create Year" name="group_create_year" context="{'group_by': 'create_date:year'}"/>
</search>
</field>
</record>
<!-- ===================================================================== -->
<!-- ODSP: ACTIONS -->
<!-- ===================================================================== -->
<record id="action_fc_odsp_orders" model="ir.actions.act_window">
<field name="name">All ODSP Cases</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_adp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_adp"/>
(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'])]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp'}</field>
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No ODSP cases yet</p></field>
@@ -629,8 +747,8 @@
<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_adp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_adp"/>
(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')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'standard'}</field>
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No ODSP Standard cases yet</p></field>
@@ -641,8 +759,8 @@
<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_adp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_adp"/>
(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')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'sa_mobility'}</field>
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No SA Mobility cases yet</p></field>
@@ -653,8 +771,8 @@
<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_adp')})]"/>
<field name="search_view_id" ref="view_sale_order_search_adp"/>
(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')]</field>
<field name="context">{'default_x_fc_sale_type': 'odsp', 'default_x_fc_odsp_division': 'ontario_works'}</field>
<field name="help" type="html"><p class="o_view_nocontent_smiling_face">No Ontario Works cases yet</p></field>
@@ -986,12 +1104,54 @@ else:
sequence="30"
groups="group_fusion_claims_user,group_field_technician"/>
<!-- ===== DASHBOARD ===== -->
<menuitem id="menu_fc_dashboard"
name="Dashboard"
<!-- ===== LTC MANAGEMENT ===== -->
<menuitem id="menu_fc_ltc"
name="LTC Management"
parent="menu_adp_claims_root"
action="action_fusion_claims_dashboard"
sequence="5"/>
<menuitem id="menu_ltc_overview"
name="Overview"
parent="menu_fc_ltc"
action="action_ltc_repairs_kanban"
sequence="1"/>
<menuitem id="menu_ltc_repairs"
name="Repair Requests"
parent="menu_fc_ltc"
sequence="10"/>
<menuitem id="menu_ltc_repairs_all"
name="All Repairs"
parent="menu_ltc_repairs"
action="action_ltc_repairs_all"
sequence="1"/>
<menuitem id="menu_ltc_repairs_new"
name="New / Pending"
parent="menu_ltc_repairs"
action="action_ltc_repairs_new"
sequence="2"/>
<menuitem id="menu_ltc_repairs_progress"
name="In Progress"
parent="menu_ltc_repairs"
action="action_ltc_repairs_in_progress"
sequence="3"/>
<menuitem id="menu_ltc_repairs_completed"
name="Completed"
parent="menu_ltc_repairs"
action="action_ltc_repairs_completed"
sequence="4"/>
<menuitem id="menu_ltc_cleanup"
name="Cleanup Schedule"
parent="menu_fc_ltc"
action="action_ltc_cleanups"
sequence="20"/>
<menuitem id="menu_ltc_locations"
name="Locations"
parent="menu_fc_ltc"
sequence="30"/>
<menuitem id="menu_ltc_facilities"
name="Facilities"
parent="menu_ltc_locations"
action="action_ltc_facilities"
sequence="1"/>
<!-- ===== ADP SUBMENU (full workflow) ===== -->
<menuitem id="menu_fc_adp"
@@ -1156,6 +1316,22 @@ else:
action="action_device_import_wizard" sequence="20"/>
<menuitem id="menu_import_xml_files" name="Import XML Files" parent="menu_adp_config"
action="action_xml_import_wizard" sequence="30"/>
<menuitem id="menu_ltc_repair_stages" name="LTC Repair Stages" parent="menu_adp_config"
action="action_ltc_repair_stages" sequence="40"/>
<menuitem id="menu_forms_management"
name="Forms Management"
parent="menu_adp_config"
sequence="50"/>
<menuitem id="menu_form_submissions"
name="Form Submissions"
parent="menu_forms_management"
action="action_ltc_form_submissions"
sequence="1"/>
<menuitem id="menu_forms_settings"
name="Forms Settings"
parent="menu_forms_management"
action="action_fusion_claims_settings"
sequence="2"/>
<menuitem id="menu_fusion_claims_settings" name="Settings" parent="menu_adp_config"
action="action_fusion_claims_settings" sequence="90"/>