Files
Odoo-Modules/fusion_clock/views/clock_menus.xml
gsinghpal 806ec5a5a6 refactor(fusion_clock): reorganize backend menus into logical groups
- Attendance now groups the operational records: All Attendances, Leave
  Requests, Correction Requests, Penalties (Leaves + Penalties moved in from
  top level).
- Scheduling groups all schedule-building: Shift Planner, Scheduled Shifts,
  Shifts (templates, moved from Configuration), Schedule Audit.
- Configuration: Settings, Locations, Enroll NFC Card (the NFC wizard moved in
  from top level).
- Removed the duplicate top-level Locations menu (kept the one under Config).
Only parent/sequence changed; no actions/views touched. Live on entech 3.13.2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 01:44:53 -04:00

184 lines
7.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Top-Level Menu -->
<menuitem id="menu_fusion_clock_root"
name="Fusion Clock"
web_icon="fusion_clock,static/description/icon.png"
sequence="45"
groups="group_fusion_clock_user"/>
<!-- Dedicated kiosk app: a separate top-level icon (same artwork) that opens
the NFC kiosk. Gated to Kiosk Operator so shared tablet accounts see ONLY
this app, not the full Fusion Clock backend. -->
<record id="action_fusion_clock_kiosk_nfc" model="ir.actions.act_url">
<field name="name">Fusion Clock Kiosk</field>
<field name="url">/fusion_clock/kiosk/nfc</field>
<field name="target">self</field>
</record>
<menuitem id="menu_fusion_clock_kiosk_app_root"
name="Fusion Clock Kiosk"
web_icon="fusion_clock,static/description/icon.png"
action="action_fusion_clock_kiosk_nfc"
sequence="46"
groups="group_fusion_clock_kiosk_app"/>
<!-- Dashboard -->
<menuitem id="menu_fusion_clock_dashboard"
name="Dashboard"
parent="menu_fusion_clock_root"
action="action_fusion_clock_dashboard"
sequence="5"
groups="group_fusion_clock_manager,group_fusion_clock_team_lead"/>
<!-- ============================================================
Attendance — day-to-day operational records
============================================================ -->
<menuitem id="menu_fusion_clock_attendance"
name="Attendance"
parent="menu_fusion_clock_root"
sequence="10"/>
<menuitem id="menu_fusion_clock_attendance_list"
name="All Attendances"
parent="menu_fusion_clock_attendance"
action="hr_attendance.hr_attendance_action"
sequence="10"
groups="group_fusion_clock_manager,group_fusion_clock_team_lead"/>
<menuitem id="menu_fusion_clock_leaves"
name="Leave Requests"
parent="menu_fusion_clock_attendance"
action="action_fusion_clock_leave_request"
sequence="20"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_corrections"
name="Correction Requests"
parent="menu_fusion_clock_attendance"
action="action_fusion_clock_correction"
sequence="30"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_penalties"
name="Penalties"
parent="menu_fusion_clock_attendance"
action="action_fusion_clock_penalty"
sequence="40"
groups="group_fusion_clock_manager,group_fusion_clock_team_lead"/>
<!-- ============================================================
Scheduling — building and posting schedules
============================================================ -->
<menuitem id="menu_fusion_clock_scheduling"
name="Scheduling"
parent="menu_fusion_clock_root"
sequence="20"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_shift_planner"
name="Shift Planner"
parent="menu_fusion_clock_scheduling"
action="action_fusion_clock_shift_planner"
sequence="5"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_scheduled_shifts"
name="Scheduled Shifts"
parent="menu_fusion_clock_scheduling"
action="action_fusion_clock_schedule"
sequence="10"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_shifts"
name="Shifts"
parent="menu_fusion_clock_scheduling"
action="action_fusion_clock_shift"
sequence="15"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_schedule_audit"
name="Schedule Audit"
parent="menu_fusion_clock_scheduling"
action="action_fusion_clock_schedule_audit"
sequence="20"
groups="group_fusion_clock_manager"/>
<!-- Activity Logs — cross-cutting audit trail -->
<menuitem id="menu_fusion_clock_activity_logs"
name="Activity Logs"
parent="menu_fusion_clock_root"
action="action_fusion_clock_activity_log"
sequence="30"
groups="group_fusion_clock_manager,group_fusion_clock_team_lead"/>
<!-- Reports Sub-Menu -->
<menuitem id="menu_fusion_clock_reports_parent"
name="Reports"
parent="menu_fusion_clock_root"
sequence="40"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_reports"
name="All Reports"
parent="menu_fusion_clock_reports_parent"
action="action_fusion_clock_report"
sequence="10"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_generate_historical"
name="Generate Historical Reports"
parent="menu_fusion_clock_reports_parent"
action="action_server_generate_historical"
sequence="20"
groups="group_fusion_clock_manager"/>
<!-- Employees -->
<menuitem id="menu_fusion_clock_employees"
name="Employees"
parent="menu_fusion_clock_root"
action="hr.open_view_employee_list_my"
sequence="50"
groups="group_fusion_clock_manager,group_fusion_clock_team_lead"/>
<!-- ============================================================
Configuration — setup
============================================================ -->
<menuitem id="menu_fusion_clock_config"
name="Configuration"
parent="menu_fusion_clock_root"
sequence="90"
groups="group_fusion_clock_manager"/>
<record id="action_fusion_clock_config_settings" model="ir.actions.act_window">
<field name="name">Fusion Clock Settings</field>
<field name="res_model">res.config.settings</field>
<field name="view_mode">form</field>
<field name="target">current</field>
<field name="context">{'module': 'fusion_clock', 'bin_size': False}</field>
</record>
<menuitem id="menu_fusion_clock_settings"
name="Settings"
parent="menu_fusion_clock_config"
action="action_fusion_clock_config_settings"
sequence="10"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_locations_config"
name="Locations"
parent="menu_fusion_clock_config"
action="action_fusion_clock_location"
sequence="20"
groups="group_fusion_clock_manager"/>
<menuitem id="menu_fusion_clock_nfc_enrollment"
name="Enroll NFC Card"
parent="menu_fusion_clock_config"
action="action_fusion_clock_nfc_enrollment_wizard"
sequence="30"
groups="group_fusion_clock_manager"/>
</odoo>