Issue
The Control Center left navigation section can be hidden for signed-in admins even when the ControlCenterAdmin and ControlCenterDashboardReader app-role settings are disabled.
In the full sidebar template, the on-page Control Center section is guarded by request.endpoint == 'control_center', but the route is registered under the frontend_control_center blueprint and is linked elsewhere as frontend_control_center.control_center.
Steps to Reproduce
- Sign in as a user with the
Admin role.
- Ensure Admin Settings has
Require ControlCenterAdmin App Role disabled.
- Ensure Admin Settings has
Allow ControlCenterDashboardReader App Role disabled.
- Use left-nav layout and open
/admin/control-center.
Expected Behavior
Regular admins should see the Control Center left-nav section and management tab links when ControlCenterAdmin enforcement is disabled.
Actual Behavior
The Control Center page can load for the admin, but the Control Center section in the left nav does not render because the endpoint comparison does not match the blueprint-qualified endpoint name.
Impact
Admins lose the left-nav navigation affordance for Control Center tabs even though route-level access permits regular Admin users in this configuration.
Notes
Investigation points:
application/single_app/templates/_sidebar_nav.html: checks request.endpoint == 'control_center'.
application/single_app/app.py: registers the frontend Control Center route with blueprint name frontend_control_center.
- Existing links use
url_for('frontend_control_center.control_center').
functions_authentication.control_center_required('dashboard') and route_frontend_control_center.control_center both treat regular Admin as full access when require_member_of_control_center_admin is disabled.
- Related follow-up: consider normalizing the two Control Center app-role setting values to booleans when loading settings, since existing stored non-boolean values could make Jinja conditions behave differently from the admin UI state.
Issue
The Control Center left navigation section can be hidden for signed-in admins even when the ControlCenterAdmin and ControlCenterDashboardReader app-role settings are disabled.
In the full sidebar template, the on-page Control Center section is guarded by
request.endpoint == 'control_center', but the route is registered under thefrontend_control_centerblueprint and is linked elsewhere asfrontend_control_center.control_center.Steps to Reproduce
Adminrole.Require ControlCenterAdmin App Roledisabled.Allow ControlCenterDashboardReader App Roledisabled./admin/control-center.Expected Behavior
Regular admins should see the Control Center left-nav section and management tab links when ControlCenterAdmin enforcement is disabled.
Actual Behavior
The Control Center page can load for the admin, but the Control Center section in the left nav does not render because the endpoint comparison does not match the blueprint-qualified endpoint name.
Impact
Admins lose the left-nav navigation affordance for Control Center tabs even though route-level access permits regular Admin users in this configuration.
Notes
Investigation points:
application/single_app/templates/_sidebar_nav.html: checksrequest.endpoint == 'control_center'.application/single_app/app.py: registers the frontend Control Center route with blueprint namefrontend_control_center.url_for('frontend_control_center.control_center').functions_authentication.control_center_required('dashboard')androute_frontend_control_center.control_centerboth treat regularAdminas full access whenrequire_member_of_control_center_adminis disabled.