]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/user/login.html.erb
Convert OpenID authentication to generic third party authentication
[rails.git] / app / views / user / login.html.erb
index 6cac5cecb3d3ee107ea11233d5bbc9173d145b72..0f193e896da5256918a499e1a99da8f37eb64ee0 100644 (file)
@@ -1,64 +1,89 @@
-<script type="text/javascript">
-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://";
-    }
-
-}
-</script> 
-
-<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 %>
+<div id="login_login">
+<% content_for :heading do %>
+  <h1><%= t 'user.login.heading' %></h1>
+<% end %>
+
+  <%= form_tag({ :action => "login" }, { :id => "login_form" }) do %>
     <%= hidden_field_tag('referer', h(params[:referer])) %>
-    <div style="position: relative;">
-        <div class="loginBox">
-            <h3> <%= t 'user.login.username_heading' %></h3>
-            <table id="loginForm" width="100%">
-                <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field('user', 'email',{:value => "", :size => 28, :maxlength => 255, :tabindex => 1}) %></td></tr>
-                <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field('user', 'password',{:value => "", :size => 28, :maxlength => 255, :tabindex => 2}) %></td></tr>
-                <tr><td></td><td> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
-            </table>
+
+    <p class='deemphasize'><%= t 'user.login.no account' %> <%= link_to t('user.login.register now'), :action => :new, :referer => params[:referer] %></p>
+
+    <div id="loginForm" class="standard-form">
+
+      <fieldset>
+        <div class="form-row">
+          <label class="standard-label">
+            <%= t 'user.login.email or username' %>
+          </label>
+          <%= text_field_tag "username", params[:username], :tabindex => 1 %>
         </div>
-        <div style="float:left; width: 40px; padding: 10px;">
-            <P><%= t 'user.login.or' %></P>
+        <div class="form-row">
+          <label class="standard-label">
+            <%= t 'user.login.password' %>
+          </label>
+          <%= password_field_tag "password", "", :tabindex => 2 %>
         </div>
+        <span class="form-help deemphasize">
+          <%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>
+        </span>
+      </fieldset>
+
+      <fieldset>
+        <%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %>
+        <label for="remember_me" class="standard-label">
+          <%= t 'user.login.remember' %>
+        </label>
+        <%= submit_tag t('user.login.login_button'), :tabindex => 4 %>
+      </fieldset>
+
+      <fieldset class='form-divider'>
 
-        <div class="loginBox">
-            <h3><%= t 'user.login.openid_heading' %></h3>
-            <table id="loginForm" width="100%">
-                <tr><td class="fieldName"><%= t 'user.login.openid' %></td><td><%= text_field('user', 'openid_url',{:size => 28, :maxlength => 255, :tabindex => 3}) %></td></tr><tr><td><td> <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span></td></tr>
-            </table>
-            <a href="javascript: openid_signin('openid');";><%= image_tag "openid_logo.png", :alt => 'foo', :style => "border: solid; border-width: 1px" %></a>
-            <a href="javascript: openid_signin('yahoo');"><%= image_tag "yahoo.gif", :alt => 'foo', :style => "border: solid; border-width: 1px"%></a>
-            <a href="javascript: openid_signin('google');"><%= image_tag "google.gif", :alt => 'foo', :style => "border: solid; border-width: 1px" %></a><b>
-            <a href="javascript: openid_signin('myopenid');";><%= image_tag "myopenid.png", :alt => 'foo', :style => "border: solid; border-width: 1px" %></a>
-            <a href="javascript: openid_signin('wordpress');"><%= image_tag "wordpress.png", :alt => 'foo', :style => "border: solid; border-width: 1px"%></a>
-            <a href="javascript: openid_signin('myspace');"><%= image_tag "myspace.png", :alt => 'foo', :style => "border: solid; border-width: 1px" %></a><b>
+        <p class='standard-label'><%= t 'user.login.with external' %></p>
 
+        <ul class='clearfix' id="login_auth_buttons">
+          <li><%= link_to image_tag("openid.png", :alt => t("user.login.auth_providers.openid.title")), "#", :id => "openid_open_url", :title => t("user.login.auth_providers.openid.title") %></li>
+          <li><%= auth_button "google", "openid", :openid_url => "https://www.google.com/accounts/o8/id" %></li>
+          <li><%= auth_button "yahoo", "openid", :openid_url => "yahoo.com" %></li>
+          <li><%= auth_button "wordpress", "openid", :openid_url => "wordpress.com" %></li>
+          <li><%= auth_button "aol", "openid", :openid_url => "aol.com" %></li>
+        </ul>
+
+        <div id='login_openid_url' class='form-row'>
+          <label class="standard-label"><%= raw t 'user.login.openid', :logo => openid_logo %></label>
+          <%= text_field_tag("openid_url", "", { :tabindex => 3, :class => "openid_url" }) %>
+          <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span>
         </div>
-        <div style="clear: both">
-            <table id="loginForm">
-                <tr><td class="fieldName"><label for="remember_me"><%= t 'user.login.remember' %></label></td><td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %></td><td align=right><%= submit_tag t('user.login.login_button'), :tabindex => 3 %></td></tr>
-            </table>
+
+        <div class='form-row'>
+          <%= check_box_tag "remember_me_openid", "yes", false, :tabindex => 5 %>
+          <label class="standard-label" for="remember_me_openid"><%= t 'user.login.remember' %></label>
         </div>
+
+        <%= submit_tag t('user.login.login_button'), :tabindex => 6, :id => "login_openid_submit" %>
+
+      </fieldset>
+
     </div>
-<% end %>
+
+  <% end %>
+
+</div>
+
+<script type="text/javascript">
+$(document).ready(function() {
+  // Preserve location hash in referer
+  if (window.location.hash) {
+    $('#referer').val($('#referer').val() + window.location.hash);
+  }
+
+  $("#openid_open_url").click(function() {
+    $("#openid_url").val("http://");
+    $("#login_auth_buttons").hide();
+    $("#login_openid_url").show();
+    $("#login_openid_submit").show();
+  });
+
+  $("#login_openid_url").hide();
+  $("#login_openid_submit").hide();
+});
+</script>