]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/users/new.html.erb
Merge branch 'pull/4957'
[rails.git] / app / views / users / new.html.erb
index c3020180ca47266ba1e6311eb5d15a2bb5b02efc..37493418ab0836814c9e3ea0aa38d7c805a1b5a5 100644 (file)
@@ -3,13 +3,17 @@
   <%= javascript_include_tag "auth_providers" %>
 <% end %>
 
-<% content_for :heading_class, "p-0 mw-100" %>
+<% content_for :heading_class, "pb-0" %>
 
 <% content_for :heading do %>
-  <div class="header-illustration new-user-main auth-container mx-auto">
-    <ul class="nav nav-tabs position-absolute bottom-0 px-3 fs-6 w-100">
+  <% if @client_app_name %>
+    <p class="text-center text-body-secondary fs-6 py-2 mb-0 bg-body"><%= t(".signup_to_authorize_html", :client_app_name => @client_app_name) %></p>
+  <% end %>
+
+  <div class="header-illustration new-user-main">
+    <ul class="nav nav-tabs position-absolute bottom-0 fs-6 w-100">
       <li class="nav-item">
-        <%= link_to t("sessions.new.tab_title"), url_for(:action => :new, :controller => :sessions), :class => "nav-link" %>
+        <%= link_to t("sessions.new.tab_title"), url_for(:action => :new, :controller => :sessions, :referer => @referer), :class => "nav-link" %>
       </li>
       <li class="nav-item">
         <%= link_to t("users.new.tab_title"), "#", :class => "nav-link active" %>
   </div>
 <% end %>
 
-<div class="auth-container mx-auto my-0">
-  <% if current_user.auth_uid.nil? %>
-    <div class="text-muted fs-6">
-      <p><strong><%= t ".about.header" %></strong> <%= t ".about.paragraph_1" %></p>
-      <p><%= t ".about.paragraph_2" %></p>
-    </div>
-  <% else %>
-    <h4><%= t ".about.welcome" %></h4>
+<% if current_user.auth_uid.nil? %>
+  <div class="text-body-secondary fs-6">
+    <p><strong><%= t ".about.header" %></strong> <%= t ".about.paragraph_1" %></p>
+    <p><%= t ".about.paragraph_2" %></p>
+  </div>
+
+  <% unless @preferred_auth_provider.nil? %>
+    <%= render :partial => "auth_providers" %>
+    <%= render :partial => "shared/section_divider", :locals => { :text => t(".or") } %>
   <% end %>
+<% else %>
+  <h4><%= t ".about.welcome" %></h4>
+<% end %>
 
-  <%= bootstrap_form_for current_user, :url => { :action => "create" } do |f| %>
-    <%= hidden_field_tag("referer", h(@referer)) unless @referer.nil? %>
-    <%= hidden_field_tag("verified_email", h(@verified_email)) unless @verified_email.nil? %>
-    <%= f.hidden_field :auth_provider unless current_user.auth_provider.nil? %>
-    <%= f.hidden_field :auth_uid unless current_user.auth_uid.nil? %>
+<%= bootstrap_form_for current_user, :url => { :action => "create" } do |f| %>
+  <%= hidden_field_tag("referer", h(@referer)) unless @referer.nil? %>
+  <%= hidden_field_tag("email_hmac", h(@email_hmac)) unless @email_hmac.nil? %>
+  <%= f.hidden_field :auth_provider unless current_user.auth_provider.nil? %>
+  <%= f.hidden_field :auth_uid unless current_user.auth_uid.nil? %>
 
-    <% if current_user.auth_uid.nil? or not current_user.errors[:email].empty? %>
-      <%= f.email_field :email, :help => t(".email_help_html",
-                                           :privacy_policy_link => link_to(t(".privacy_policy"),
-                                                                           t(".privacy_policy_url"),
-                                                                           :title => t(".privacy_policy_title"),
-                                                                           :target => :new)),
-                                :tabindex => 1 %>
-    <% else %>
-      <%= f.hidden_field :email %>
-    <% end %>
+  <% if current_user.auth_uid.nil? or @email_hmac.nil? or not current_user.errors[:email].empty? %>
+    <%= f.email_field :email, :help => t(".email_help.html",
+                                         :privacy_policy_link => link_to(t(".email_help.privacy_policy"),
+                                                                         t(".email_help.privacy_policy_url"),
+                                                                         :title => t(".email_help.privacy_policy_title"),
+                                                                         :target => :new)),
+                              :autofocus => true,
+                              :tabindex => 1 %>
+  <% else %>
+    <%= f.hidden_field :email %>
+  <% end %>
 
-    <%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 2 %>
+  <%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 2 %>
 
-    <% if current_user.auth_uid.nil? %>
-      <div class="row">
-        <div class="col-sm">
-          <%= f.password_field :pass_crypt, :tabindex => 3 %>
-        </div>
-        <div class="col-sm">
-          <%= f.password_field :pass_crypt_confirmation, :tabindex => 4 %>
-        </div>
+  <% if current_user.auth_uid.nil? %>
+    <div class="row">
+      <div class="col-sm">
+        <%= f.password_field :pass_crypt, :tabindex => 3 %>
+      </div>
+      <div class="col-sm">
+        <%= f.password_field :pass_crypt_confirmation, :tabindex => 4 %>
       </div>
-    <% end %>
-
-    <p class="mb-3 text-muted"><%= t(".by_signing_up_html",
-                                     :tou_link => link_to(t("layouts.tou"),
-                                                          "https://wiki.osmfoundation.org/wiki/Terms_of_Use",
-                                                          :target => :new),
-                                     :privacy_policy_link => link_to(t(".privacy_policy"),
-                                                                     t(".privacy_policy_url"),
-                                                                     :title => t(".privacy_policy_title"),
-                                                                     :target => :new),
-                                     :contributor_terms_link => link_to(t(".contributor_terms"),
-                                                                        t(".contributor_terms_url"),
-                                                                        :target => :new)) %></p>
-
-    <%= f.form_group do %>
-      <%= f.check_box :consider_pd,
-                      :tabindex => 5,
-                      :label => t(".consider_pd_html",
-                                  :consider_pd_link => link_to(t(".consider_pd"),
-                                                               t(".consider_pd_url"),
-                                                               :target => :new)) %>
-    <% end %>
-
-    <div class="mb-3">
-      <%= submit_tag(t(".continue"), :name => "continue", :id => "continue", :class => "btn btn-primary", :tabindex => 6) %>
     </div>
   <% end %>
 
-  <% if current_user.auth_uid.nil? %>
-    <hr>
-    <%= render :partial => "auth_providers" %>
+  <p class="mb-3 text-body-secondary fs-6"><%= t(".by_signing_up.html",
+                                                 :tou_link => link_to(t("layouts.tou"),
+                                                                      "https://wiki.osmfoundation.org/wiki/Terms_of_Use",
+                                                                      :target => :new),
+                                                 :privacy_policy_link => link_to(t(".by_signing_up.privacy_policy"),
+                                                                                 t(".by_signing_up.privacy_policy_url"),
+                                                                                 :title => t(".by_signing_up.privacy_policy_title"),
+                                                                                 :target => :new),
+                                                 :contributor_terms_link => link_to(t(".by_signing_up.contributor_terms"),
+                                                                                    t(".by_signing_up.contributor_terms_url"),
+                                                                                    :target => :new)) %></p>
+  <%= f.form_group do %>
+    <%= f.check_box :consider_pd,
+                    :tabindex => 5,
+                    :label => t(".consider_pd_html",
+                                :consider_pd_link => link_to(t(".consider_pd"),
+                                                             t(".consider_pd_url"),
+                                                             :target => :new)) %>
   <% end %>
-</div>
+
+  <div class="mb-3">
+    <%= submit_tag(t(".continue"), :name => "continue", :id => "continue", :class => "btn btn-primary", :tabindex => 6) %>
+  </div>
+<% end %>
+
+<% if current_user.auth_uid.nil? and @preferred_auth_provider.nil? %>
+  <%= render :partial => "shared/section_divider", :locals => { :text => t(".use external auth") } %>
+  <%= render :partial => "auth_providers" %>
+<% end %>