Admin User Preferences and Themes - hmislk/hmis GitHub Wiki
User Preferences and Themes
Overview
Each user can have personal preferences that control how the application looks and behaves for them. The main preference currently available is Autodisplay Menu, which controls whether the navigation menu opens automatically when the page loads. Administrators can manage preferences for any user; users with the ChangePreference privilege can manage their own.
When to Use
- A user wants the menu to expand automatically on every page
- An administrator is configuring the system for a new user before they start
Navigating to User Preferences (Admin)
- Click Administration → Manage Users
- Click the user row to select it
- Click Manage Preferences in the right action panel
- The User Preferences form opens
Available Preferences
| Preference | Description |
|---|---|
| Autodisplay Menu | When enabled, the navigation menu expands automatically when any page loads. When disabled, the user must click the menu icon to open the menu each time. |
Toggle the switch and click Save to apply.
Navigating to Your Own Preferences
If you have the ChangePreference privilege, you can manage your own preferences without admin access:
- Navigate to Administration → Manage Users
- Select your own user and click Manage Preferences
Or navigate directly via the personal settings section of the top navigation bar (the exact location depends on your login page configuration).
Technical Notes (Admin/Developer)
Preferences are stored on the UserPreference entity linked to the user's session via SessionController.currentPreference. The autodisplayMenu boolean field is saved by sessionController.saveUserPreferences(). The preference page is accessible from both the admin user list and from user profile navigation. Privilege required: ChangePreference for self-service.