diff --git a/core/src/main/java/hudson/model/ListView.java b/core/src/main/java/hudson/model/ListView.java
index 3476b81cc0..77852e994e 100644
--- a/core/src/main/java/hudson/model/ListView.java
+++ b/core/src/main/java/hudson/model/ListView.java
@@ -452,7 +452,7 @@ public class ListView extends View implements DirectlyModifiableView {
}
for (TopLevelItem item : items) {
String relativeNameFrom = item.getRelativeNameFrom(getOwner().getItemGroup());
- if (req.getParameter(relativeNameFrom) != null) {
+ if (req.getParameter("item_" + relativeNameFrom) != null) {
jobNames.add(relativeNameFrom);
}
}
diff --git a/core/src/main/resources/hudson/model/ListView/configure-entries.jelly b/core/src/main/resources/hudson/model/ListView/configure-entries.jelly
index fe7be59bb1..5cffab5e11 100644
--- a/core/src/main/resources/hudson/model/ListView/configure-entries.jelly
+++ b/core/src/main/resources/hudson/model/ListView/configure-entries.jelly
@@ -44,7 +44,7 @@ THE SOFTWARE.
-
+
diff --git a/test/src/test/java/hudson/model/ListViewTest.java b/test/src/test/java/hudson/model/ListViewTest.java
index fe8619cb5c..12710e120b 100644
--- a/test/src/test/java/hudson/model/ListViewTest.java
+++ b/test/src/test/java/hudson/model/ListViewTest.java
@@ -36,7 +36,9 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import com.gargoylesoftware.htmlunit.AlertHandler;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
+import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import hudson.Functions;
import hudson.matrix.AxisList;
@@ -59,10 +61,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import jenkins.model.Jenkins;
import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;
@@ -291,6 +295,23 @@ public class ListViewTest {
assertEquals("Query parameter 'name' does not correspond to a known and readable item", e.getMessage());
}
+ @Issue("JENKINS-71200")
+ @Test public void doApplyDoNotOverloadElements() throws Exception {
+ MockFolder folder = j.createFolder("folder");
+ FreeStyleProject job = folder.createProject(FreeStyleProject.class, "elements");
+ ListView view = new ListView("view", folder);
+ folder.addView(view);
+ view.add(job);
+
+ final AtomicBoolean alerts = new AtomicBoolean();
+ WebClient webClient = j.createWebClient();
+ webClient.setAlertHandler((AlertHandler) (page, s) -> alerts.set(true));
+ HtmlPage page = webClient.goTo(view.getUrl() + "configure");
+ HtmlForm form = page.getFormByName("viewConfig");
+ j.assertGoodStatus(j.submit(form));
+ Assert.assertFalse("No alert expected", alerts.get());
+ }
+
@Test public void getItemsNames() throws Exception {
MockFolder f1 = j.createFolder("f1");
MockFolder f2 = j.createFolder("f2");