]> source.dussan.org Git - gitblit.git/commitdiff
Add feedback to SSH Key Form. #1226
authorMartin Spielmann <martin.spielmann@pingunaut.com>
Sun, 21 May 2017 22:29:08 +0000 (00:29 +0200)
committerMartin Spielmann <martin.spielmann@pingunaut.com>
Sun, 21 May 2017 22:29:08 +0000 (00:29 +0200)
if key is empty of can not be parsed, form did provide any feedback to
user before

src/main/java/com/gitblit/wicket/GitBlitWebApp.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties
src/main/java/com/gitblit/wicket/pages/BasePage.java
src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java

index c46bd63dd2850d79c5748a51f2c8d932f689ceee..d8a58943ee86ca22c056a1a8b94aefc4fdf45ea3 100644 (file)
@@ -739,6 +739,8 @@ gb.emailAddressDescription = The primary email address for receiving notificatio
 gb.sshKeys = SSH Keys
 gb.sshKeysDescription = SSH public key authentication is a secure alternative to password authentication
 gb.addSshKey = Add SSH Key
+gb.addSshKeyErrorEmpty = SSH public key empty. Please provide a valid SSH public key
+gb.addSshKeyErrorFormat = Not a valid SSH public key format. Please provide a valid SSH public key
 gb.key = Key
 gb.comment = Comment
 gb.sshKeyCommentDescription = Enter an optional comment. If blank, the comment will be extracted from the key data.
index 9599f7eb5c05267972a07e997f818a828d9f70c8..3f873cc1ddb5d3b2ae61a048bbcf11c6f788f709 100644 (file)
@@ -736,6 +736,8 @@ gb.emailAddressDescription = Die prim\u00e4re Emailadresse f\u00fcr den Empfang
 gb.sshKeys = SSH Keys
 gb.sshKeysDescription = SSH Public Key Authentifizierung ist eine sichere Alternative zur Authentifizierung mit Passwort
 gb.addSshKey = SSH Key hinzuf\u00fcgen
+gb.addSshKeyErrorEmpty = SSH Public Key leer. Bitte geben Sie einen g\u00fltigen SSH Public Key an
+gb.addSshKeyErrorFormat = SSH Public Key Format ungültig. Bitte geben Sie einen g\u00fltigen SSH Public Key an
 gb.key = Key
 gb.comment = Kommentar
 gb.sshKeyCommentDescription = Geben Sie optional einen Kommentar ein. Falls Sie dies nicht tun, wird der Kommentar aus dem Key extrahiert.
index 0d99f5e52956f865290f630b25252ca2f962e028..bb97ee8ccecda779693bf748c0ba43eebd97c88b 100644 (file)
@@ -251,7 +251,7 @@ public abstract class BasePage extends SessionPage {
                add(rootLink);\r
 \r
                // Feedback panel for info, warning, and non-fatal error messages\r
-               add(new FeedbackPanel("feedback"));\r
+               add(new FeedbackPanel("feedback").setOutputMarkupId(true));\r
 \r
                add(new Label("gbVersion", "v" + Constants.getVersion()));\r
                if (app().settings().getBoolean(Keys.web.aggressiveHeapManagement, false)) {\r
index 4b8787630f830ad7bd081737674edcaa6d41d0be..629c58eb62861edf77db5f63f0d29a6afdcc479c 100644 (file)
@@ -24,6 +24,7 @@ import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;\r
 import org.apache.wicket.markup.html.basic.Label;\r
 import org.apache.wicket.markup.html.form.Form;\r
+import org.apache.wicket.markup.html.panel.FeedbackPanel;\r
 import org.apache.wicket.markup.repeater.Item;\r
 import org.apache.wicket.markup.repeater.data.DataView;\r
 import org.apache.wicket.markup.repeater.data.ListDataProvider;\r
@@ -123,6 +124,9 @@ public class SshKeysPanel extends BasePanel {
                                "span5",\r
                                keyComment));\r
 \r
+//             final FeedbackPanel feedback = new FeedbackPanel("feedback");\r
+//             feedback.setOutputMarkupId(true);\r
+//             addKeyForm.add(feedback);\r
                addKeyForm.add(new AjaxButton("addKeyButton") {\r
 \r
                        private static final long serialVersionUID = 1L;\r
@@ -134,6 +138,8 @@ public class SshKeysPanel extends BasePanel {
                                String data = keyData.getObject();\r
                                if (StringUtils.isEmpty(data)) {\r
                                        // do not submit empty key\r
+                                       error(getString("gb.addSshKeyErrorEmpty"));\r
+                                       target.addComponent(getPage().get("feedback"));\r
                                        return;\r
                                }\r
 \r
@@ -142,6 +148,8 @@ public class SshKeysPanel extends BasePanel {
                                        key.getPublicKey();\r
                                } catch (Exception e) {\r
                                        // failed to parse the key\r
+                                       error(getString("gb.addSshKeyErrorFormat"));\r
+                                       target.addComponent(getPage().get("feedback"));\r
                                        return;\r
                                }\r
 \r