]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/login.js
Merge remote-tracking branch 'upstream/pull/3061'
[rails.git] / app / assets / javascripts / login.js
index b7a540f6e12426a8de4477e875c3eed33dcafa24..8963c07b64c28ccd66cc13d2677ba5fbae2b6362 100644 (file)
@@ -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;
+  });
 });