Show configurable info message in service user creation dialog

Change-Id: Ie0edae49f313d9598de7e952ab0c42d4577f9ad7
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/GetMessages.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/GetMessages.java
index ef885ff..1ce5ad7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/GetMessages.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/GetMessages.java
@@ -35,11 +35,13 @@
   @Override
   public MessagesInfo apply(ConfigResource rsrc) {
     MessagesInfo info = new MessagesInfo();
+    info.info = Strings.emptyToNull(cfg.getString("infoMessage"));
     info.onSuccess = Strings.emptyToNull(cfg.getString("onSuccessMessage"));
     return info;
   }
 
   public class MessagesInfo {
+    String info;
     String onSuccess;
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/CreateServiceUserForm.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/CreateServiceUserForm.java
index c2a300a..2363efa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/CreateServiceUserForm.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/CreateServiceUserForm.java
@@ -51,7 +51,7 @@
     dialogBox.setText("Create Service User");
     dialogBox.setAnimationEnabled(true);
 
-    Panel p = new VerticalPanel();
+    final VerticalPanel p = new VerticalPanel();
     p.setStyleName("panel");
 
     Panel usernamePanel = new VerticalPanel();
@@ -161,6 +161,11 @@
           @Override
           public void onSuccess(MessagesInfo info) {
             onSuccessMessage = info.getOnSuccessMessage();
+
+            String infoMessage = info.getInfoMessage();
+            if (infoMessage != null && !"".equals(infoMessage)) {
+              p.insert(new HTML(onSuccessMessage), 0);
+            }
           }
 
           @Override
@@ -225,6 +230,7 @@
 
   private static class MessagesInfo extends JavaScriptObject {
     public final native String getOnSuccessMessage() /*-{ return this.on_success }-*/;
+    public final native String getInfoMessage() /*-{ return this.info }-*/;
 
     protected MessagesInfo() {
     }
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 4938613..f79ac88 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -22,6 +22,11 @@
     automatically added. Multiple groups can be specified by having
     multiple `plugin.@PLUGIN@.group` entries.
 
+<a id="infoMessage">
+`plugin.@PLUGIN@.infoMessage`
+:	HTML formatted message that should be displayed in the service user
+	creation dialog.
+
 <a id="onSuccessMessage">
 `plugin.@PLUGIN@.onSuccessMessage`
 :	HTML formatted message that should be displayed after a service
diff --git a/src/main/resources/Documentation/rest-api-config.md b/src/main/resources/Documentation/rest-api-config.md
index e265b11..8805a3d 100644
--- a/src/main/resources/Documentation/rest-api-config.md
+++ b/src/main/resources/Documentation/rest-api-config.md
@@ -89,6 +89,8 @@
 The `MessagesInfo` entity contains help messages that should be
 displayed for the service user creation in the Web UI.
 
+* _info_: HTML formatted message that should be displayed in the
+  service user creation dialog.
 * _on\_success_: HTML formatted message that should be displayed after
   a service user was successfully created.