diff --git a/app/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java index 0b0072787..5df3a184a 100644 --- a/app/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java +++ b/app/proprietary/src/main/java/stirling/software/proprietary/security/config/AccountWebController.java @@ -7,6 +7,7 @@ import java.time.temporal.ChronoUnit; import java.util.Date; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -219,6 +220,21 @@ public class AccountWebController { List allUsers = userRepository.findAllWithTeam(); Iterator iterator = allUsers.iterator(); Map roleDetails = Role.getAllRoleDetails(); + + // Filter role details to only show SYSTEM_ADMIN, USER, and DEMO_USER in UI + Map filteredRoleDetails = new LinkedHashMap<>(); + String[] allowedRoles = { + Role.SYSTEM_ADMIN.getRoleId(), + Role.USER.getRoleId(), + Role.DEMO_USER.getRoleId() + }; + + for (String roleId : allowedRoles) { + if (roleDetails.containsKey(roleId)) { + filteredRoleDetails.put(roleId, roleDetails.get(roleId)); + } + } + roleDetails = filteredRoleDetails; // Map to store session information and user activity status Map userSessions = new HashMap<>(); Map userLastRequest = new HashMap<>();