Files
Odoo-Modules/fusion_repairs/views/menus.xml
gsinghpal 903ceb10d0 fix(fusion_repairs): two install blockers found on first clean install (Westin Enterprise)
Surfaced by installing fusion_repairs into a westin-v19 clone (its first-ever clean install; cloud.md's 'installed locally' was stale). (1) Post-visit NPS mail template used url_encode(), which is NOT in Odoo 19's mail.template QWeb render context -> save-validation failed at install (ParseError 'issue with this value'); replaced with a string-method (.replace) fallback. (2) views/menus.xml defined menu_fusion_repairs_configuration AFTER the children referencing it as parent -> 'External ID not found in the system'; moved the parent definition above its children. fusion_repairs now installs cleanly (32 models, 11 templates) on the Enterprise stack.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 02:21:07 -04:00

141 lines
5.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Top-level app menu - lands on the OWL dashboard with quick-actions and KPIs -->
<menuitem id="menu_fusion_repairs_root"
name="Fusion Repairs"
sequence="48"
web_icon="fusion_repairs,static/description/icon.png"
action="action_fusion_repairs_home_dashboard"
groups="fusion_repairs.group_fusion_repairs_user"/>
<menuitem id="menu_fusion_repairs_home"
name="Dashboard"
parent="menu_fusion_repairs_root"
action="action_fusion_repairs_home_dashboard"
sequence="5"/>
<menuitem id="menu_fusion_repairs_dashboard"
name="Service Calls"
parent="menu_fusion_repairs_root"
action="action_fusion_repair_dashboard"
sequence="10"/>
<menuitem id="menu_fusion_repairs_new_call"
name="New Service Call"
parent="menu_fusion_repairs_root"
action="action_open_repair_intake_wizard"
sequence="15"/>
<menuitem id="menu_fusion_repairs_all_orders"
name="All Repair Orders"
parent="menu_fusion_repairs_root"
action="repair.action_repair_order_tree"
sequence="20"/>
<menuitem id="menu_fusion_repairs_maintenance_contracts"
name="Maintenance Contracts"
parent="menu_fusion_repairs_root"
action="action_maintenance_contract"
sequence="30"/>
<menuitem id="menu_fusion_repairs_inspections"
name="Inspection Certificates"
parent="menu_fusion_repairs_root"
action="action_repair_inspection"
sequence="35"/>
<menuitem id="menu_fusion_repairs_service_plans"
name="Service Plans"
parent="menu_fusion_repairs_root"
action="action_service_plan_subscription"
sequence="37"/>
<menuitem id="menu_fusion_repairs_part_orders"
name="Parts to Order"
parent="menu_fusion_repairs_root"
action="action_repair_part_order"
sequence="38"/>
<!-- Configuration parent: must be defined before the children that reference it below -->
<menuitem id="menu_fusion_repairs_configuration"
name="Configuration"
parent="menu_fusion_repairs_root"
sequence="90"
groups="fusion_repairs.group_fusion_repairs_manager"/>
<menuitem id="menu_fusion_repairs_emergency_charges"
name="Emergency Surcharges"
parent="menu_fusion_repairs_configuration"
action="action_repair_emergency_charge"
sequence="60"/>
<menuitem id="menu_fusion_repairs_callout_rate"
name="Callout Rate Card"
parent="menu_fusion_repairs_configuration"
action="action_repair_callout_rate"
sequence="65"/>
<menuitem id="menu_fusion_repairs_delivery_charge"
name="Delivery / Pickup Charges"
parent="menu_fusion_repairs_configuration"
action="action_repair_delivery_charge"
sequence="67"/>
<!-- Bundle 11: troubleshooting -->
<menuitem id="menu_fusion_repairs_symptom_classes"
name="Symptom Classes"
parent="menu_fusion_repairs_configuration"
action="action_repair_symptom_class"
sequence="70"/>
<menuitem id="menu_fusion_repairs_flowcharts"
name="Troubleshooting Flowcharts"
parent="menu_fusion_repairs_configuration"
action="action_repair_flowchart"
sequence="75"/>
<menuitem id="menu_fusion_repairs_flowchart_runs"
name="Troubleshooting Sessions"
parent="menu_fusion_repairs_root"
action="action_repair_flowchart_run"
sequence="34"/>
<menuitem id="menu_fusion_repairs_labor_warranty"
name="Labor Warranties"
parent="menu_fusion_repairs_root"
action="action_repair_labor_warranty"
sequence="36"/>
<menuitem id="menu_fusion_repairs_categories"
name="Equipment Categories"
parent="menu_fusion_repairs_configuration"
action="action_repair_product_category"
sequence="10"/>
<menuitem id="menu_fusion_repairs_intake_templates"
name="Intake Templates"
parent="menu_fusion_repairs_configuration"
action="action_repair_intake_template"
sequence="20"/>
<menuitem id="menu_fusion_repairs_service_catalog"
name="Service Catalogue"
parent="menu_fusion_repairs_configuration"
action="action_repair_service_catalog"
sequence="30"/>
<menuitem id="menu_fusion_repairs_warranty"
name="Repair Warranties"
parent="menu_fusion_repairs_configuration"
action="action_repair_warranty_coverage"
sequence="40"/>
<menuitem id="menu_fusion_repairs_qr_stickers"
name="Generate QR Stickers"
parent="menu_fusion_repairs_configuration"
action="action_qr_sticker_wizard"
sequence="50"/>
</odoo>