Two complaints from the first hands-on test: 1) Submit button raised "Access Error (Document type: Activity, Operation: create)" - the wizard called the intake service WITHOUT sudo so the mail.activity records the service schedules tripped on the activity ACL (admin's group chain does not auto-grant activity create on repair.order without sudo). Both portal controllers already sudo'd; the wizard now does too. x_fc_intake_user_id preserves audit identity regardless. Verified end-to-end as gsingh@westinhealthcare.com (admin): Created: BR-WA/RO/00025 Activities: 2 Source: backend_wizard Intake user: gsingh@westinhealthcare.com 2) "Real dashboard with dedicated pages would have been nice" - the main menu opened the wizard directly as a modal. Restructured so the menu lands on a proper kanban dashboard of service calls, matching the standard Odoo app pattern: Fusion Repairs (app icon) - Service Calls <- dashboard kanban (default landing) - New Service Call <- wizard (still a modal, accessed from menu OR kanban's New button) - All Repair Orders <- native Odoo repair list (full backend) - Maintenance Contracts - Configuration - Equipment Categories / Intake Templates / Service Catalogue / Repair Warranties New view_fusion_repair_dashboard_kanban shows urgency badges (red / amber / grey), category, scheduled date, intake source pill, and a 3rd-party warning. Default group_by=state. New view_fusion_repair_dashboard_search adds quick filters: Today, This Week, Safety/Urgent, Third-Party, Open, plus per-source filters and Group By (Status / Urgency / Category / Intake Source). Wizard remains target='new' (modal) so submitting drops the user back to the kanban they came from with the new repair visible. Bumped version to 19.0.1.0.2 to bust the asset bundle hash. Co-authored-by: Cursor <cursoragent@cursor.com>
68 lines
2.5 KiB
XML
68 lines
2.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<!-- Top-level app menu - lands directly on the dashboard kanban -->
|
|
<menuitem id="menu_fusion_repairs_root"
|
|
name="Fusion Repairs"
|
|
sequence="48"
|
|
web_icon="fusion_repairs,static/description/icon.png"
|
|
action="action_fusion_repair_dashboard"
|
|
groups="fusion_repairs.group_fusion_repairs_user"/>
|
|
|
|
<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"/>
|
|
|
|
<!-- Configuration -->
|
|
<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_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"/>
|
|
|
|
</odoo>
|