X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/aa1fb6dbb8c2e71b8ce8c231ae1272a2dfebd75a..b5188cae0865597462bd6b5068a80ccfceab802a:/app/assets/javascripts/login.js diff --git a/app/assets/javascripts/login.js b/app/assets/javascripts/login.js index b7a540f6e..8963c07b6 100644 --- a/app/assets/javascripts/login.js +++ b/app/assets/javascripts/login.js @@ -1,4 +1,6 @@ -$(document).ready(function() { +//= qs/dist/qs + +$(document).ready(function () { // Preserve location hash in referer if (window.location.hash) { $("#referer").val($("#referer").val() + window.location.hash); @@ -6,13 +8,13 @@ $(document).ready(function() { // Attach referer to authentication buttons $(".auth_button").each(function () { - var params = querystring.parse(this.search.substring(1)); + var params = Qs.parse(this.search.substring(1)); params.referer = $("#referer").val(); - this.search = querystring.stringify(params); + this.search = Qs.stringify(params); }); // Add click handler to show OpenID field - $("#openid_open_url").click(function() { + $("#openid_open_url").click(function () { $("#openid_url").val("http://"); $("#login_auth_buttons").hide(); $("#login_openid_url").show(); @@ -22,4 +24,18 @@ $(document).ready(function() { // Hide OpenID field for now $("#login_openid_url").hide(); $("#login_openid_submit").hide(); + + // Handle OpenID submission by redirecting to omniauth + $("#openid_login_form").submit(function () { + var action = $(this).prop("action"), + openid_url = $(this).find("#openid_url").val(), + referer = $(this).find("#openid_referer").val(), + args = {}; + args.openid_url = openid_url; + if (referer) { + args.referer = referer; + } + window.location = action + "?" + Qs.stringify(args); + return false; + }); });