]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/user/new.html.erb
Improve layout and styling of forms
[rails.git] / app / views / user / new.html.erb
index 8a1ad0bb0e6302d07d4be6695a539aa89e03fd91..52abb33113e3837c6824a2c251556b953c97e5f1 100644 (file)
-<h1><%= t 'user.new.heading' %></h1>
-
-<% if Acl.find_by_address(request.remote_ip, :conditions => {:k => "no_account_creation"}) %>
-
-<p><%= t 'user.new.no_auto_account_create' %></p>
-
-<p><%= t 'user.new.contact_webmaster' %></p>
-
-<% else %>
+<% content_for :heading do %>
+  <h1><%= t 'user.new.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.new.fill_form' %></p>
 
 <%= error_messages_for 'user' %>
 
-<% form_tag :action => 'terms' do %>
+<%= form_for :user, :url => { :action => 'terms' } do %>
   <%= hidden_field_tag('referer', h(@referer)) unless @referer.nil? %>
 
-  <table id="signupForm">
-    <tr>
-      <td class="fieldName"><%= t 'user.new.email address' %></td>
-      <td><%= text_field(:user, :email, { :size => 50, :maxlength => 255, :tabindex => 1, :value => params[:email] }) %></td>
-    </tr>
-    <tr>
-      <td class="fieldName"><%= t 'user.new.confirm email address' %></td>
-      <td><%= text_field(:user, :email_confirmation, { :size => 50, :maxlength => 255, :tabindex => 2, :value => params[:email] }) %></td>
-    </tr>
-    <tr>
-      <td></td>
-      <td><span class="minorNote"><%= t 'user.new.not displayed publicly' %></span></td>
-    </tr>
-
-    <tr><td colspan="2">&nbsp;<!--vertical spacer--></td></tr>
-
-    <tr>
-      <td class="fieldName"><%= t 'user.new.display name' %></td>
-      <td><%= text_field(:user, :display_name, { :size => 30, :maxlength => 255, :tabindex => 3, :value => params[:nickname] }) %></td></tr>
-    <tr>
-      <td></td>
-      <td><span class="minorNote"><%= t 'user.new.display name description' %></span></td>
-    </tr>
-
-    <tr id="openid_spacer"><td colspan="2">&nbsp;<!--vertical spacer--></td></tr>
-
-    <tr id="openid_field">
-      <td class="fieldName"><%= t 'user.new.openid', :logo => openid_logo %></td>
-      <td><%= text_field(:user, :openid_url, { :id => "openid_url", :size => 50, :maxlength => 255, :tabindex => 4, :value => params[:openid], :class => "openid_url" }) %></td>
-    </tr>
-
-    <tr><td colspan="2">&nbsp;<!--vertical spacer--></td></tr>
-
-    <tr>
-      <td class="fieldName"><%= t 'user.new.password' %></td>
-      <td><%= password_field(:user, :pass_crypt, { :size => 30, :maxlength => 255, :tabindex => 5 }) %></td>
-    </tr>
-    <tr>
-      <td class="fieldName"><%= t 'user.new.confirm password' %></td>
-      <td><%= password_field(:user, :pass_crypt_confirmation, { :size => 30, :maxlength => 255, :tabindex => 6 }) %></td>
-    </tr>
-    <tr>
-      <td></td>
-      <td>
-        <span id="openid_prompt" class="minorNote"><%= link_to_function(t('user.new.use openid', :logo => openid_logo)) { |page| page.hide 'openid_prompt'; page.show 'openid_spacer', 'openid_field', 'openid_note' } %></span>
-        <span id="openid_note" class="minorNote"><%= t 'user.new.openid no password' %></span>
-      </td>
-    </tr>
-
-    <tr><td colspan="2" >&nbsp;<!--vertical spacer--></td></tr>
-
-    <tr>
-      <td></td>
-      <td class="submitButton"><%= submit_tag t('user.new.continue'), :tabindex => 6 %></td>
-    </tr>
-  </table>
+  <div id="signupForm" class="standard-form">
+
+    <fieldset>
+      <div class="form-row">
+        <label for="email" class="standard-label">
+          <%= t 'user.new.email address' %>
+        </label>
+        <%= email_field(:user, :email, { :tabindex => 1 }) %>
+      </div>
+      <div class="form-row">
+        <label for="email_confirmation" class="standard-label">
+          <%= t 'user.new.confirm email address' %>
+        </label>
+        <%= email_field(:user, :email_confirmation, { :tabindex => 2 }) %>
+      </div>
+    <span class="form-help deemphasize"><%= raw(t 'user.new.not displayed publicly') %></span>
+    </fieldset>
+
+    <fieldset>
+      <div class="form-row">
+        <label for="display_name" class="standard-label">
+          <%= t 'user.new.display name' %>
+        </label>
+        <%= text_field(:user, :display_name, { :tabindex => 3 }) %>
+      </div>
+      <span class="form-help deemphasize"><%= t 'user.new.display name description' %></span>
+    </fieldset>
+
+    <fieldset class="form-divider" id="openid_field">
+      <div class="form-row">
+        <label for="openid_url" class="standard-label">
+          <%= raw t 'user.new.openid', :logo => openid_logo %>
+        </label>
+        <%= url_field(:user, :openid_url, { :id => "openid_url", :tabindex => 4, :class => "openid_url" }) %>
+      </div>
+      <span id="openid_note" class="deemphasize">
+        <%= t 'user.new.openid no password' %>
+      </span>
+    </fieldset>
+
+    <fieldset>
+      <div class="form-row">
+        <label for='user[pass_crypt]' class="standard-label">
+          <%= t 'user.new.password' %>
+        </label>
+        <%= password_field(:user, :pass_crypt, {:tabindex => 5 }) %>
+      </div>
+      <div class="form-row">
+        <label class="standard-label">
+          <%= t 'user.new.confirm password' %>
+        </label>
+        <%= password_field(:user, :pass_crypt_confirmation, { :tabindex => 6 }) %>
+      </div>
+    </fieldset>
+
+    <div id="openid_prompt" class="form-row">
+      <%= link_to raw(t("user.new.use openid", :logo => openid_logo)), "#", :id => "openid_enable" %>
+    </div>
+
+    <%= submit_tag t('user.new.continue'), :tabindex => 6 %>
+  </div>
 <% end %>
 
-<%=
-  update_page_tag do |page|
-    if params[:openid] or (@user and @user.openid_url)
-      page[:openid_prompt].hide
-    else
-      page[:openid_spacer].hide
-      page[:openid_field].hide
-      page[:openid_note].hide
-    end
-  end
-%>
+<script type="text/javascript">
+function enableOpenID()
+{
+  $("#openid_prompt").hide();
 
-<%= javascript_include_tag 'https://ethnio.com/remotes/62786' %>
+  $("#openid_field").show();
+  $("#openid_note").show();
 
-<% end %>
+  $("#openid_url").prop("disabled", false);
+}
+
+function disableOpenID()
+{
+  $("#openid_prompt").show();
+
+  $("#openid_field").hide();
+  $("#openid_note").hide();
+
+  $("#openid_url").prop("disabled", true);
+}
+
+$(document).ready(function () {
+  $("#openid_enable").click(enableOpenID);
+
+  <% if params[:openid] or (@user and @user.openid_url and not @user.openid_url.empty?) -%>
+  enableOpenID();
+  <% else -%>
+  disableOpenID();
+  <% end -%>
+});
+</script>