You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2016/07/07 14:29:30 UTC

wicket git commit: WICKET-6198 disabled MultiFileUploadField

Repository: wicket
Updated Branches:
  refs/heads/master fdbb57b11 -> 5903e4968


WICKET-6198 disabled MultiFileUploadField


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5903e496
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5903e496
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5903e496

Branch: refs/heads/master
Commit: 5903e4968afa9b5eb1a029c2bce6cc954210344e
Parents: fdbb57b
Author: Sven Meier <sv...@apache.org>
Authored: Thu Jul 7 16:26:34 2016 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Thu Jul 7 16:26:34 2016 +0200

----------------------------------------------------------------------
 .../html/form/upload/MultiFileUploadField.java   | 13 ++++++++++++-
 .../form/upload/MultiFileUploadFieldTest.java    | 19 +++++++++++++++++--
 2 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5903e496/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
index 7138c75..69f6d29 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
@@ -171,7 +171,18 @@ public class MultiFileUploadField extends FormComponentPanel<Collection<FileUplo
 		this.max = max;
 		this.useMultipleAttr = useMultipleAttr;
 
-		upload = new WebComponent("upload");
+		upload = new WebComponent("upload") {
+			@Override
+			protected void onComponentTag(ComponentTag tag)
+			{
+				super.onComponentTag(tag);
+
+				if (!isEnabledInHierarchy())
+				{
+					onDisabled(tag);
+				}
+			}
+		};
 		upload.setOutputMarkupId(true);
 		add(upload);
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5903e496/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadFieldTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadFieldTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadFieldTest.java
index 5f364b6..139f41b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadFieldTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadFieldTest.java
@@ -20,8 +20,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
@@ -80,6 +78,8 @@ public class MultiFileUploadFieldTest extends WicketTestCase
 		};
 		tester.startPage(page);
 
+		tester.assertContainsNot("disabled=\"disabled\"");
+
 		FormTester ft = tester.newFormTester("f");
 
 		ft.setFile("muf", new File("target/test-classes/org/apache/wicket/markup/html/form/upload/MultiFileUploadFieldTest0.txt"), "plain/text");
@@ -89,6 +89,21 @@ public class MultiFileUploadFieldTest extends WicketTestCase
 		assertEquals("The form is not submitted", true, submitted.get());
 	}
 
+	/**
+	 * https://issues.apache.org/jira/browse/WICKET-6198
+	 */
+	@Test
+	public void disabledMultiFileUploadFields()
+	{
+		final ListModel<FileUpload> filesModel = new ListModel<>(new ArrayList<FileUpload>());
+
+		TestPage page = new TestPage(filesModel);
+		page.setEnabled(false);
+		tester.startPage(page);
+
+		tester.assertContains("disabled=\"disabled\"");
+	}
+
 	private static class TestPage extends WebPage implements IMarkupResourceStreamProvider
 	{
 		public TestPage(final ListModel<FileUpload> model)