Replace openID.js with funky rails generated javascript
authorTom Hughes <tom@compton.nu>
Sun, 9 May 2010 11:25:50 +0000 (12:25 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 9 May 2010 11:25:50 +0000 (12:25 +0100)
app/helpers/user_helper.rb
app/views/user/login.html.erb
public/javascripts/openID.js [deleted file]

index 0147c3fe6aabbf787808646d70952bb2f0bf1eed..eb2b34e9066ec59e1419a959bcfe995d6803ecf8 100644 (file)
@@ -1,2 +1,12 @@
 module UserHelper
+  def openid_button(name, url)
+    link_to_function(
+      image_tag("#{name}.png", :alt => t("user.login.openid_providers.#{name}.alt")),
+      nil,
+      :title => t("user.login.openid_providers.#{name}.title")      
+    ) do |page|
+      page[:login_form][:user_openid_url][:value] = url
+      page[:login_form].submit()
+    end
+  end
 end
index e5f87e180bddb2235d85da30729391cbea0d5c4b..31379e03e2f47f833947ece6db04b89a0e2991bb 100644 (file)
@@ -1,10 +1,8 @@
-<%= javascript_include_tag 'openID.js' %>
-
 <h1><%= t 'user.login.heading' %></h1>
 
 <p><%= t 'user.login.please login', :create_user_link => link_to(t('user.login.create_account'), :controller => 'user', :action => 'new', :referer => params[:referer]) %></p>
 
-<% form_tag :action => 'login' do %>
+<% form_tag({ :action => "login" }, { :id => "login_form" }) do %>
     <%= hidden_field_tag('referer', h(params[:referer])) %>
     <div style="position: relative;">
         <div class="loginBox">
                     </td>
                 </tr>
             </table>
-            <a href="javascript: openid_signin('openid');" title="<%= h(t 'user.login.openid_providers.openid.title') %>">
-                <%= image_tag "openid_logo.png", :alt => t('user.login.openid_providers.openid.title') %>
-            </a>
-            <a href="javascript: openid_signin('yahoo');" title="<%= h(t 'user.login.openid_providers.yahoo.title') %>">
-                <%= image_tag "yahoo.png", :alt => t('user.login.openid_providers.yahoo.alt') %>
-            </a>
-            <a href="javascript: openid_signin('google');" title="<%= h(t 'user.login.openid_providers.google.title') %>">
-                <%= image_tag "google.png", :alt => t('user.login.openid_providers.google.alt') %>
-            </a>
-            <a href="javascript: openid_signin('myopenid');" title="<%= h(t 'user.login.openid_providers.myopenid.title') %>">
-                <%= image_tag "myopenid.png", :alt => t('user.login.openid_providers.myopenid.alt') %>
-            </a>
-            <a href="javascript: openid_signin('wordpress');" title="<%= h(t 'user.login.openid_providers.wordpress.title') %>">
-                <%= image_tag "wordpress.png", :alt => t('user.login.openid_providers.wordpress.alt') %>
-            </a>
-            <a href="javascript: openid_signin('myspace');" title="<%= h(t 'user.login.openid_providers.myspace.title') %>">
-                <%= image_tag "myspace.png", :alt => t('user.login.openid_providers.myspace.alt') %>
-            </a>
+            <%=
+              link_to_function(image_tag("openid_logo.png", :alt => t("user.login.openid_providers.openid.title")), nil, :title => t("user.login.openid_providers.openid.title")) do |page|
+                page[:login_form][:user_openid_url][:value] = "http://"
+              end
+            %>
+            <%= openid_button "yahoo", "yahoo.com" %>
+            <%= openid_button "google", "gmail.com" %>
+            <%= openid_button "myopenid", "myopenid.com" %>
+            <%= openid_button "wordpress", "wordpress.com" %>
+            <%= openid_button "myspace", "myspace.com" %>
         </div>
 
         <div style="clear: both">
diff --git a/public/javascripts/openID.js b/public/javascripts/openID.js
deleted file mode 100644 (file)
index 007ea02..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-function openid_signin(provider)
-{
-    if (provider == 'google') {
-        document.forms[0].user_openid_url.value="gmail.com";
-        document.forms[0].submit();
-    } else if (provider == 'yahoo') {
-        document.forms[0].user_openid_url.value="yahoo.com";
-        document.forms[0].submit();
-    } else if (provider == 'myopenid') {
-        document.forms[0].user_openid_url.value="myopenid.com";
-        document.forms[0].submit();
-    } else if (provider == 'wordpress') {
-        document.forms[0].user_openid_url.value="wordpress.com";
-        document.forms[0].submit();
-    } else if (provider == 'myspace') {
-        document.forms[0].user_openid_url.value="myspace.com";
-        document.forms[0].submit();
-    } else if (provider == 'openid') {
-        document.forms[0].user_openid_url.value="http://";
-    }
-
-}