From e0ff33bd08662c0820bf12af86de65ecd2715331 Mon Sep 17 00:00:00 2001 From: cnathe Date: Wed, 29 Apr 2026 12:18:48 -0500 Subject: [PATCH] More usages of user.isTroubleshooter() --- api/src/org/labkey/api/action/SpringActionController.java | 3 +-- api/src/org/labkey/api/miniprofiler/MiniProfiler.java | 3 +-- api/src/org/labkey/api/security/Encryption.java | 3 +-- api/src/org/labkey/api/view/PopupAdminView.java | 3 +-- api/src/org/labkey/api/view/menu/SiteAdminMenu.java | 5 ++--- core/src/org/labkey/core/portal/ProjectController.java | 3 +-- core/src/org/labkey/core/query/CoreQuerySchema.java | 4 ++-- core/src/org/labkey/core/query/PostgresUserSchema.java | 3 +-- core/src/org/labkey/core/user/LimitActiveUsersSettings.java | 3 +-- .../core/view/template/bootstrap/CoreWarningProvider.java | 3 +-- .../core/view/template/bootstrap/WarningServiceImpl.java | 3 +-- .../src/org/labkey/pipeline/status/StatusController.java | 3 +-- 12 files changed, 14 insertions(+), 25 deletions(-) diff --git a/api/src/org/labkey/api/action/SpringActionController.java b/api/src/org/labkey/api/action/SpringActionController.java index 2dac648cf55..5886b50cae3 100644 --- a/api/src/org/labkey/api/action/SpringActionController.java +++ b/api/src/org/labkey/api/action/SpringActionController.java @@ -46,7 +46,6 @@ import org.labkey.api.security.LoginUrls; import org.labkey.api.security.User; import org.labkey.api.security.UserManager; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.settings.AppProps; import org.labkey.api.util.ConfigurationException; import org.labkey.api.util.ExceptionUtil; @@ -656,7 +655,7 @@ public static ActionURL getUpgradeMaintenanceRedirect(HttpServletRequest request // ignore } - if (!user.hasRootPermission(TroubleshooterPermission.class)) + if (!user.isTroubleshooter()) { if (HttpUtil.isApiLike(request, action)) { diff --git a/api/src/org/labkey/api/miniprofiler/MiniProfiler.java b/api/src/org/labkey/api/miniprofiler/MiniProfiler.java index 29c5a40b71c..1a3ea3d1b4b 100644 --- a/api/src/org/labkey/api/miniprofiler/MiniProfiler.java +++ b/api/src/org/labkey/api/miniprofiler/MiniProfiler.java @@ -26,7 +26,6 @@ import org.labkey.api.data.PropertyManager.WritablePropertyMap; import org.labkey.api.module.ModuleLoader; import org.labkey.api.security.User; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.util.JavaScriptFragment; import org.labkey.api.util.MemTracker; import org.labkey.api.util.SafeToRender; @@ -101,7 +100,7 @@ public static boolean isEnabled(User user) return false; // CONSIDER: Add CanSeeProfilingPermission? - if (user != null && (user.isPlatformDeveloper() || user.hasRootPermission(TroubleshooterPermission.class))) + if (user != null && (user.isPlatformDeveloper() || user.isTroubleshooter())) { Settings settings = getSettings(user); if (settings != null) diff --git a/api/src/org/labkey/api/security/Encryption.java b/api/src/org/labkey/api/security/Encryption.java index 6fa4f7ed95b..ff5505c808b 100644 --- a/api/src/org/labkey/api/security/Encryption.java +++ b/api/src/org/labkey/api/security/Encryption.java @@ -40,7 +40,6 @@ import org.labkey.api.data.PropertyManager.WritablePropertyMap; import org.labkey.api.data.PropertyStore; import org.labkey.api.module.ModuleLoader; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.settings.AppProps; import org.labkey.api.util.ConfigurationException; import org.labkey.api.util.HasHtmlString; @@ -113,7 +112,7 @@ public class Encryption @Override public void addDynamicWarnings(@NotNull Warnings warnings, @Nullable ViewContext context, boolean showAllWarnings) { - if (context == null || context.getUser().hasRootPermission(TroubleshooterPermission.class)) + if (context == null || context.getUser().isTroubleshooter()) { if (!isEncryptionPassPhraseSpecified() || showAllWarnings) warnings.add(HtmlStringBuilder.of("The encryption key property is not set in " + AppProps.getInstance().getWebappConfigurationFilename() + diff --git a/api/src/org/labkey/api/view/PopupAdminView.java b/api/src/org/labkey/api/view/PopupAdminView.java index 3fa62d1178e..5067895dc45 100644 --- a/api/src/org/labkey/api/view/PopupAdminView.java +++ b/api/src/org/labkey/api/view/PopupAdminView.java @@ -24,7 +24,6 @@ import org.labkey.api.portal.ProjectUrls; import org.labkey.api.security.User; import org.labkey.api.security.permissions.AdminPermission; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.menu.FolderAdminMenu; import org.labkey.api.view.menu.ProjectAdminMenu; @@ -79,7 +78,7 @@ public static NavTree createNavTree(final ViewContext context) User user = context.getUser(); NavTree navTree = new NavTree("Admin"); - if (user.hasRootPermission(TroubleshooterPermission.class)) + if (user.isTroubleshooter()) { NavTree siteAdmin = new NavTree("Site"); siteAdmin.addChildren(SiteAdminMenu.getNavTree(context)); diff --git a/api/src/org/labkey/api/view/menu/SiteAdminMenu.java b/api/src/org/labkey/api/view/menu/SiteAdminMenu.java index c62716b0e05..fc80a5e4329 100644 --- a/api/src/org/labkey/api/view/menu/SiteAdminMenu.java +++ b/api/src/org/labkey/api/view/menu/SiteAdminMenu.java @@ -23,7 +23,6 @@ import org.labkey.api.security.SecurityUrls; import org.labkey.api.security.User; import org.labkey.api.security.UserUrls; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.security.permissions.UserManagementPermission; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.URLHelper; @@ -48,7 +47,7 @@ public static NavTree[] getNavTree(ViewContext context) SecurityUrls securityUrls = PageFlowUtil.urlProvider(SecurityUrls.class); List items = new ArrayList<>(); - if (user.hasRootPermission(TroubleshooterPermission.class)) + if (user.isTroubleshooter()) items.add(getAdminConsole(context)); URLHelper returnUrl = context.getActionURL().getReturnUrl() == null ? context.getActionURL() : context.getActionURL().getReturnUrl(); @@ -70,7 +69,7 @@ public static NavTree[] getNavTree(ViewContext context) @Override public boolean isVisible() { - return getViewContext().getUser().hasRootPermission(TroubleshooterPermission.class); + return getViewContext().getUser().isTroubleshooter(); } private static @NotNull NavTree getAdminConsole(ViewContext context) diff --git a/core/src/org/labkey/core/portal/ProjectController.java b/core/src/org/labkey/core/portal/ProjectController.java index e71a32e1e61..5ced5548be5 100644 --- a/core/src/org/labkey/core/portal/ProjectController.java +++ b/core/src/org/labkey/core/portal/ProjectController.java @@ -63,7 +63,6 @@ import org.labkey.api.security.User; import org.labkey.api.security.permissions.AdminPermission; import org.labkey.api.security.permissions.ReadPermission; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.security.roles.RoleManager; import org.labkey.api.settings.LookAndFeelProperties; import org.labkey.api.util.GUID; @@ -1286,7 +1285,7 @@ public void checkPermissions() throws UnauthorizedException private boolean isTroubleshooterRetrievingFolderNav() { - return getContainer().isRoot() && getUser().hasRootPermission(TroubleshooterPermission.class) && "FolderNav".equals(getViewContext().get("webpart.name")); + return getContainer().isRoot() && getUser().isTroubleshooter() && "FolderNav".equals(getViewContext().get("webpart.name")); } @Override diff --git a/core/src/org/labkey/core/query/CoreQuerySchema.java b/core/src/org/labkey/core/query/CoreQuerySchema.java index bc8bdcc2f0b..c08a62bfbfd 100644 --- a/core/src/org/labkey/core/query/CoreQuerySchema.java +++ b/core/src/org/labkey/core/query/CoreQuerySchema.java @@ -142,7 +142,7 @@ public Set getTableNames() CONTAINERS_TABLE_NAME, WORKBOOKS_TABLE_NAME, QCSTATE_TABLE_NAME, DATA_STATES_TABLE_NAME, VIEW_CATEGORY_TABLE_NAME, MISSING_VALUE_INDICATOR_TABLE_NAME); - if (getUser().hasRootPermission(TroubleshooterPermission.class)) + if (getUser().isTroubleshooter()) names.add(DOCUMENTS_TABLE_NAME); if (getUser().hasRootPermission(UserManagementPermission.class)) @@ -203,7 +203,7 @@ public TableInfo createTable(String name, ContainerFilter cf) return getMVIndicatorTable(cf); if (SHORT_URL_TABLE_NAME.equalsIgnoreCase(name) && ShortUrlTableInfo.canDisplayTable(getUser(), getContainer())) return new ShortUrlTableInfo(this); - if (DOCUMENTS_TABLE_NAME.equalsIgnoreCase(name) && getUser().hasRootPermission(TroubleshooterPermission.class)) + if (DOCUMENTS_TABLE_NAME.equalsIgnoreCase(name) && getUser().isTroubleshooter()) return new DocumentsTable(this, cf); return null; diff --git a/core/src/org/labkey/core/query/PostgresUserSchema.java b/core/src/org/labkey/core/query/PostgresUserSchema.java index f058b00f030..31967a98fc6 100644 --- a/core/src/org/labkey/core/query/PostgresUserSchema.java +++ b/core/src/org/labkey/core/query/PostgresUserSchema.java @@ -8,7 +8,6 @@ import org.labkey.api.data.dialect.BasePostgreSqlDialect; import org.labkey.api.query.UserSchema; import org.labkey.api.security.User; -import org.labkey.api.security.permissions.TroubleshooterPermission; import java.util.Set; @@ -23,7 +22,7 @@ public PostgresUserSchema(User user, Container container) @Override public boolean canReadSchema() { - return super.canReadSchema() || getUser().hasRootPermission(TroubleshooterPermission.class); + return super.canReadSchema() || getUser().isTroubleshooter(); } @Override diff --git a/core/src/org/labkey/core/user/LimitActiveUsersSettings.java b/core/src/org/labkey/core/user/LimitActiveUsersSettings.java index fab21393268..88c25abec2c 100644 --- a/core/src/org/labkey/core/user/LimitActiveUsersSettings.java +++ b/core/src/org/labkey/core/user/LimitActiveUsersSettings.java @@ -9,7 +9,6 @@ import org.labkey.api.security.User; import org.labkey.api.security.UserManager; import org.labkey.api.security.permissions.AddUserPermission; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.settings.AbstractWriteableSettingsGroup; import org.labkey.api.settings.StandardStartupPropertyHandler; import org.labkey.api.settings.StartupProperty; @@ -185,7 +184,7 @@ public void handle(Map properties) public static @Nullable HtmlString getWarningMessage(Container c, User user, boolean showAllWarnings) { - if (c.hasPermission(user, AddUserPermission.class) || user.hasRootPermission(TroubleshooterPermission.class)) + if (c.hasPermission(user, AddUserPermission.class) || user.isTroubleshooter()) { LimitActiveUsersSettings settings = new LimitActiveUsersSettings(); int activeUsers = getActiveUserCount(); diff --git a/core/src/org/labkey/core/view/template/bootstrap/CoreWarningProvider.java b/core/src/org/labkey/core/view/template/bootstrap/CoreWarningProvider.java index ff03803248c..2a5ac64109d 100644 --- a/core/src/org/labkey/core/view/template/bootstrap/CoreWarningProvider.java +++ b/core/src/org/labkey/core/view/template/bootstrap/CoreWarningProvider.java @@ -33,7 +33,6 @@ import org.labkey.api.security.DbLoginService; import org.labkey.api.security.impersonation.AbstractImpersonationContextFactory; import org.labkey.api.security.permissions.SiteAdminPermission; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.settings.AppProps; import org.labkey.api.settings.OptionalFeatureFlag; import org.labkey.api.settings.OptionalFeatureService; @@ -130,7 +129,7 @@ public void addDynamicWarnings(@NotNull Warnings warnings, @Nullable ViewContext warnings.add(UsageReportingLevel.getMarketingUpdate()); } - if (context == null || context.getUser().hasRootPermission(TroubleshooterPermission.class)) + if (context == null || context.getUser().isTroubleshooter()) { addUserRequestedAdminOnlyModeWarnings(warnings, showAllWarnings, context == null || context.getUser().hasSiteAdminPermission()); diff --git a/core/src/org/labkey/core/view/template/bootstrap/WarningServiceImpl.java b/core/src/org/labkey/core/view/template/bootstrap/WarningServiceImpl.java index 5de2aff2dc1..5e0bce63172 100644 --- a/core/src/org/labkey/core/view/template/bootstrap/WarningServiceImpl.java +++ b/core/src/org/labkey/core/view/template/bootstrap/WarningServiceImpl.java @@ -18,7 +18,6 @@ import org.jetbrains.annotations.Nullable; import org.labkey.api.admin.CoreUrls; import org.labkey.api.module.ModuleLoader; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.settings.AppProps; import org.labkey.api.settings.OptionalFeatureService; import org.labkey.api.util.HtmlString; @@ -160,7 +159,7 @@ public Warnings getWarnings(@Nullable ViewContext context) // Collect warnings List warningMessages = new LinkedList<>(); - if (context == null || context.getUser().hasRootPermission(TroubleshooterPermission.class)) + if (context == null || context.getUser().isTroubleshooter()) warningMessages.addAll(getStaticAdminWarnings()); Warnings warnings = Warnings.of(warningMessages); diff --git a/pipeline/src/org/labkey/pipeline/status/StatusController.java b/pipeline/src/org/labkey/pipeline/status/StatusController.java index e60a428d6ea..41e929022ff 100644 --- a/pipeline/src/org/labkey/pipeline/status/StatusController.java +++ b/pipeline/src/org/labkey/pipeline/status/StatusController.java @@ -55,7 +55,6 @@ import org.labkey.api.security.permissions.AdminPermission; import org.labkey.api.security.permissions.DeletePermission; import org.labkey.api.security.permissions.ReadPermission; -import org.labkey.api.security.permissions.TroubleshooterPermission; import org.labkey.api.security.permissions.UpdatePermission; import org.labkey.api.settings.AdminConsole; import org.labkey.api.util.FileUtil; @@ -136,7 +135,7 @@ public Container getContainerCheckAdmin() Container c = getContainer(); if (c == null || c.isRoot()) { - if (!getUser().hasRootPermission(TroubleshooterPermission.class)) + if (!getUser().isTroubleshooter()) { throw new UnauthorizedException(); }