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>
141 lines
5.3 KiB
XML
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>
|