summaryrefslogtreecommitdiffstats
path: root/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java')
-rw-r--r--gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java
index 93031fef62..e6bb25b382 100644
--- a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java
+++ b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java
@@ -178,6 +178,7 @@ class LoginForm extends HttpServlet {
|| oauthSession.isOAuthFinal(req))
&& !oauthSession.isLoggedIn()) {
oauthSession.setServiceProvider(oauthProvider);
+ oauthSession.setLinkMode(link);
oauthSession.login(req, res, oauthProvider);
}
}
@@ -303,7 +304,7 @@ class LoginForm extends HttpServlet {
oauthServiceProviders.byPlugin(pluginName);
for (Map.Entry<String, Provider<OAuthServiceProvider>> e
: m.entrySet()) {
- addProvider(providers, pluginName, e.getKey(),
+ addProvider(providers, link, pluginName, e.getKey(),
e.getValue().get().getName());
}
}
@@ -326,13 +327,18 @@ class LoginForm extends HttpServlet {
}
}
- private static void addProvider(Element form, String pluginName,
- String id, String serviceName) {
+ private static void addProvider(Element form, boolean link,
+ String pluginName, String id, String serviceName) {
Element div = form.getOwnerDocument().createElement("div");
div.setAttribute("id", id);
Element hyperlink = form.getOwnerDocument().createElement("a");
- hyperlink.setAttribute("href", String.format("?id=%s_%s",
+ StringBuilder u = new StringBuilder(String.format("?id=%s_%s",
pluginName, id));
+ if (link) {
+ u.append("&link");
+ }
+ hyperlink.setAttribute("href", u.toString());
+
hyperlink.setTextContent(serviceName +
" (" + pluginName + " plugin)");
div.appendChild(hyperlink);