From e501689ad9d736a48195e7b5f9c177456c9765a5 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Fri, 5 Jun 2026 10:59:02 -0700 Subject: [PATCH 1/3] canEditSourceModule() consistency see #730 --- core/src/org/labkey/core/admin/AdminController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/org/labkey/core/admin/AdminController.java b/core/src/org/labkey/core/admin/AdminController.java index 7a3fc270b25..ec2da68a653 100644 --- a/core/src/org/labkey/core/admin/AdminController.java +++ b/core/src/org/labkey/core/admin/AdminController.java @@ -9177,7 +9177,7 @@ protected void renderView(Object model, HtmlWriter out) if (null != module.getZippedPath()) p = module.getZippedPath().toPath(); if (isDevMode && ModuleEditorService.get().canEditSourceModule(module)) - if (!module.getExplodedPath().getPath().equals(module.getSourcePath())) + if (!isBlank(module.getSourcePath()) && !module.getExplodedPath().getPath().equals(module.getSourcePath())) p = Paths.get(module.getSourcePath()); fullPathToModule = p.toString(); shortPathToModule = fullPathToModule; From 570be85fc8761a104205bcd76f77c394868a64cd Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Tue, 30 Jun 2026 13:10:00 -0700 Subject: [PATCH 2/3] remove AdminBean.modules --- api/src/org/labkey/api/admin/AdminBean.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/api/src/org/labkey/api/admin/AdminBean.java b/api/src/org/labkey/api/admin/AdminBean.java index 62631713f3c..8b928e6ba07 100644 --- a/api/src/org/labkey/api/admin/AdminBean.java +++ b/api/src/org/labkey/api/admin/AdminBean.java @@ -24,7 +24,6 @@ import org.labkey.api.data.ContainerManager; import org.labkey.api.data.CoreSchema; import org.labkey.api.data.DbScope; -import org.labkey.api.module.Module; import org.labkey.api.module.ModuleLoader; import org.labkey.api.security.UserManager; import org.labkey.api.settings.AppProps; @@ -43,7 +42,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -82,7 +80,6 @@ public static class RecentUser public static final String sessionTimeout = Formats.commaf0.format(ModuleLoader.getServletContext().getSessionTimeout()); public static final String buildTime = ModuleLoader.getInstance().getCoreModule().getBuildTime(); public static final String serverStartupTime = DateUtil.formatDateTime(ContainerManager.getRoot()); - public static final List modules; public static String asserts = "disabled"; @@ -116,9 +113,6 @@ public static class RecentUser //noinspection ConstantConditions,AssertWithSideEffects assert null != (asserts = "enabled"); - - modules = new ArrayList<>(ModuleLoader.getInstance().getModules()); - modules.sort(Comparator.comparing(Module::getName, String.CASE_INSENSITIVE_ORDER)); } private static @Nullable String getValue(Field field) From ff2e36b65053d3f02b750c08c806ddcac219ec62 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Tue, 30 Jun 2026 13:15:38 -0700 Subject: [PATCH 3/3] remove AdminBean.modules --- core/src/org/labkey/core/admin/admin.jsp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/org/labkey/core/admin/admin.jsp b/core/src/org/labkey/core/admin/admin.jsp index 9975bfc4703..81aaa1c7749 100644 --- a/core/src/org/labkey/core/admin/admin.jsp +++ b/core/src/org/labkey/core/admin/admin.jsp @@ -23,6 +23,7 @@ <%@ page import="org.labkey.api.files.FileContentService" %> <%@ page import="org.labkey.api.module.DefaultModule" %> <%@ page import="org.labkey.api.module.Module" %> +<%@ page import="org.labkey.api.module.ModuleLoader"%> <%@ page import="org.labkey.api.moduleeditor.api.ModuleEditorService" %> <%@ page import="org.labkey.api.settings.AdminConsole" %> <%@ page import="org.labkey.api.settings.AdminConsole.AdminLink" %> @@ -36,7 +37,9 @@ <%@ page import="java.time.Duration" %> <%@ page import="java.time.LocalDateTime" %> <%@ page import="java.time.format.DateTimeFormatter" %> +<%@ page import="java.util.ArrayList" %> <%@ page import="java.util.Collection" %> +<%@ page import="java.util.Comparator" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.TreeMap" %> <%@ page import="org.apache.commons.lang3.Strings" %> @@ -152,7 +155,9 @@ <%=link("Module Details", AdminController.ModulesAction.class)%>

<% - for (Module module : AdminBean.modules) + ArrayList modules = new ArrayList<>(ModuleLoader.getInstance().getModules()); + modules.sort(Comparator.comparing(Module::getName, String.CASE_INSENSITIVE_ORDER)); + for (Module module : modules) { String guid = makeId("m_"); String toggleScript = "return LABKEY.Utils.toggleLink(document.getElementById(" + q(guid) + "), false);";