From 457a4ea403def9339fd606c284d5ed747d2a0ea3 Mon Sep 17 00:00:00 2001 From: cnathe Date: Thu, 23 Apr 2026 14:11:31 -0500 Subject: [PATCH 1/2] Add User helper for isTroubleShooter() for root permission check --- api/src/org/labkey/api/security/User.java | 6 ++++++ api/src/org/labkey/api/view/PopupAdminView.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/api/src/org/labkey/api/security/User.java b/api/src/org/labkey/api/security/User.java index edc32e8e2ae..a01827ee640 100644 --- a/api/src/org/labkey/api/security/User.java +++ b/api/src/org/labkey/api/security/User.java @@ -42,6 +42,7 @@ import org.labkey.api.security.permissions.SampleWorkflowJobPermission; import org.labkey.api.security.permissions.SeeGroupDetailsPermission; import org.labkey.api.security.permissions.SiteAdminPermission; +import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.security.permissions.TrustedPermission; import org.labkey.api.security.permissions.UpdatePermission; import org.labkey.api.security.roles.AbstractRootContainerRole; @@ -312,6 +313,11 @@ public boolean isTrustedBrowserDev() return hasRootPermissions(TRUSTED_BROWSER_DEV); } + public boolean isTroubleShooter() + { + return hasRootPermission(TroubleshooterPermission.class); + } + public boolean isBrowserDev() { return hasRootPermission(BrowserDeveloperPermission.class); diff --git a/api/src/org/labkey/api/view/PopupAdminView.java b/api/src/org/labkey/api/view/PopupAdminView.java index 38a7a6b6408..aa268c377c9 100644 --- a/api/src/org/labkey/api/view/PopupAdminView.java +++ b/api/src/org/labkey/api/view/PopupAdminView.java @@ -101,7 +101,7 @@ public static NavTree createNavTree(final ViewContext context) } } - if (user.isAnalyst() || user.hasRootPermission(TroubleshooterPermission.class)) + if (user.isAnalyst() || user.isTroubleShooter()) { NavTree devMenu = new NavTree("Developer Links"); devMenu.addChildren(DeveloperMenu.getNavTree(context)); From e39e0a3c54170c55662a18aa53f010811583e065 Mon Sep 17 00:00:00 2001 From: cnathe Date: Thu, 23 Apr 2026 15:03:15 -0500 Subject: [PATCH 2/2] casing --- api/src/org/labkey/api/security/User.java | 2 +- api/src/org/labkey/api/view/PopupAdminView.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/org/labkey/api/security/User.java b/api/src/org/labkey/api/security/User.java index a01827ee640..5a11e99787c 100644 --- a/api/src/org/labkey/api/security/User.java +++ b/api/src/org/labkey/api/security/User.java @@ -313,7 +313,7 @@ public boolean isTrustedBrowserDev() return hasRootPermissions(TRUSTED_BROWSER_DEV); } - public boolean isTroubleShooter() + public boolean isTroubleshooter() { return hasRootPermission(TroubleshooterPermission.class); } diff --git a/api/src/org/labkey/api/view/PopupAdminView.java b/api/src/org/labkey/api/view/PopupAdminView.java index aa268c377c9..3fa62d1178e 100644 --- a/api/src/org/labkey/api/view/PopupAdminView.java +++ b/api/src/org/labkey/api/view/PopupAdminView.java @@ -101,7 +101,7 @@ public static NavTree createNavTree(final ViewContext context) } } - if (user.isAnalyst() || user.isTroubleShooter()) + if (user.isAnalyst() || user.isTroubleshooter()) { NavTree devMenu = new NavTree("Developer Links"); devMenu.addChildren(DeveloperMenu.getNavTree(context));