You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/01/09 14:03:49 UTC

[03/50] [abbrv] git commit: Add 'change' Ajax link next to the captcha image to show how to refresh/change it.

Add 'change' Ajax link next to the captcha image to show how to refresh/change it.

(cherry picked from commit e594bb85675eab0a3dfd7fdec738fada07b9607b)


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

Branch: refs/heads/sandbox/WICKET-4686
Commit: 1945ffd8d4446cd88da82ed65a67e67a457dbd7d
Parents: f39d8fa
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Dec 16 11:49:35 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Dec 16 11:50:40 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/examples/captcha/Captcha.html |  3 +-
 .../apache/wicket/examples/captcha/Captcha.java | 41 +++++++++++++-------
 2 files changed, 29 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/1945ffd8/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.html
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.html b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.html
index ae26525..057b990 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.html
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.html
@@ -12,11 +12,12 @@
 		<form wicket:id="captchaForm">
 			<p>
 				<img wicket:id="captchaImage" />
+				<a wicket:id="changeCaptcha">change</a>
 			</p>
 			<p>
 				Please replicate the text you see above
 				<br />
-				<input wicket:id="password" id="password" type="text" size="40" />
+				<input wicket:id="captchaText" type="text" size="40" />
 				<input type="submit" value="submit" />
 			</p>
 		</form>

http://git-wip-us.apache.org/repos/asf/wicket/blob/1945ffd8/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.java b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.java
index 1b8e044..d1217ac 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/Captcha.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.examples.captcha;
 
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.extensions.markup.html.captcha.CaptchaImageResource;
 import org.apache.wicket.markup.ComponentTag;
@@ -24,7 +26,6 @@ import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.image.Image;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.value.ValueMap;
 
 
@@ -51,9 +52,23 @@ public class Captcha extends WicketExamplePage
 			super(id);
 
 			captchaImageResource = new CaptchaImageResource(imagePass);
-			add(new Image("captchaImage", captchaImageResource));
-			add(new RequiredTextField<String>("password", new PropertyModel<String>(properties,
-				"password"))
+			final Image captchaImage = new Image("captchaImage", captchaImageResource);
+			captchaImage.setOutputMarkupId(true);
+			add(captchaImage);
+
+			AjaxLink<Void> changeCaptchaLink = new AjaxLink<Void>("changeCaptcha")
+			{
+				@Override
+				public void onClick(AjaxRequestTarget target)
+				{
+					captchaImageResource.invalidate();
+					target.add(captchaImage);
+				}
+			};
+			add(changeCaptchaLink);
+
+			add(new RequiredTextField<String>("captchaText", new PropertyModel<String>(properties,
+				"captchaText"), String.class)
 			{
 				@Override
 				protected final void onComponentTag(final ComponentTag tag)
@@ -71,10 +86,10 @@ public class Captcha extends WicketExamplePage
 		@Override
 		public void onSubmit()
 		{
-			if (!imagePass.equals(getPassword()))
+			if (!imagePass.equals(getCaptchaText()))
 			{
-				error("Captcha password '" + getPassword() + "' is wrong.\n" +
-					"Correct password was: " + imagePass);
+				error("Captcha text '" + getCaptchaText() + "' is wrong.\n" +
+					"Correct text was: " + imagePass);
 			}
 			else
 			{
@@ -108,19 +123,17 @@ public class Captcha extends WicketExamplePage
 	private final ValueMap properties = new ValueMap();
 
 	/**
-	 * Construct.
-	 * 
-	 * @param parameters
+	 * Constructor.
 	 */
-	public Captcha(final PageParameters parameters)
+	public Captcha()
 	{
 		final FeedbackPanel feedback = new FeedbackPanel("feedback");
 		add(feedback);
 		add(new CaptchaForm<>("captchaForm"));
 	}
 
-	private String getPassword()
+	private String getCaptchaText()
 	{
-		return properties.getString("password");
+		return properties.getString("captchaText");
 	}
-}
\ No newline at end of file
+}