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.