From 24422a3bafaf0f81f2417f30d896a859f6cb0ff2 Mon Sep 17 00:00:00 2001
From: John Firebaugh <john.firebaugh@gmail.com>
Date: Wed, 24 Jul 2013 19:01:15 -0700
Subject: [PATCH] Move pre-sign up content to sign up page

---
 app/assets/stylesheets/common.css.scss  | 81 +------------------------
 app/controllers/site_controller.rb      |  2 +-
 app/views/site/welcome.html.erb         | 40 ++----------
 app/views/user/new.html.erb             | 13 ++--
 config/locales/en.yml                   | 59 ++++--------------
 test/functional/user_controller_test.rb |  4 +-
 6 files changed, 32 insertions(+), 167 deletions(-)

diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss
index cc0bad072..45e644895 100644
--- a/app/assets/stylesheets/common.css.scss
+++ b/app/assets/stylesheets/common.css.scss
@@ -1029,7 +1029,8 @@ ul.results-list li { border-bottom: 1px solid #ccc; }
 }
 
 .site-copyright,
-.site-welcome {
+.site-welcome,
+.user-new {
   .content-heading {
     text-align: center;
   }
@@ -2245,15 +2246,6 @@ a.button {
     background-position: -50px 0;
   }
 
-  .sprite.large {
-    width: 350px;
-    height: 200px;
-  }
-
-  .sprite.one-map {
-    background-position: 0 -50px;
-  }
-
   .sprite.term {
     margin-right: 10px;
     vertical-align: middle;
@@ -2287,74 +2279,7 @@ a.button {
     padding: 20px;
   }
 
-  .one-map {
-    position: relative;
-  }
-
-  .one-map-name {
-    position: absolute;
-    font-size: 15px;
-    font-weight: bold;
-  }
-
-  .one-map-project-name {
-    font-size: 25px;
-    top: 70px;
-    left: 75px;
-  }
-
-  .one-map-name-1,
-  .one-map-name-5,
-  .one-map-name-6 {
-    text-align: center;
-    display: inline-block;
-    width: 200px;
-  }
-
-  .one-map-name-1 {
-    color: #c28d86;
-    top: 30px;
-    left: -70px;
-  }
-
-  .one-map-name-2 {
-    color: #c28d86;
-    top: 25px;
-    left: 172px;
-  }
-
-  .one-map-name-3 {
-    color: #94cacc;
-    top: 45px;
-    left: 140px;
-  }
-
-  .one-map-name-4 {
-    color: #94cacc;
-    top: 48px;
-    left: 270px;
-  }
-
-  .one-map-name-5 {
-    color: #85c589;
-    top: 105px;
-    left: 90px;
-  }
-
-  .one-map-name-6 {
-    color: #94cacc;
-    top: 138px;
-    left: 20px;
-  }
-
-  .edit-located,
-  .edit-geocoded,
-  .edit-geolocated {
-    display: none;
-  }
-
-  .start-mapping,
-  .sign-up {
+  .start-mapping {
     background: #EB6F67;
     color: #FFF;
     margin: auto;
diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb
index 35f1fb849..fb034e22c 100644
--- a/app/controllers/site_controller.rb
+++ b/app/controllers/site_controller.rb
@@ -4,7 +4,7 @@ class SiteController < ApplicationController
 
   before_filter :authorize_web
   before_filter :set_locale
-  before_filter :require_user, :only => [:edit]
+  before_filter :require_user, :only => [:edit, :welcome]
   before_filter :require_oauth, :only => [:index]
 
   def index
diff --git a/app/views/site/welcome.html.erb b/app/views/site/welcome.html.erb
index 4377da670..78dd51552 100644
--- a/app/views/site/welcome.html.erb
+++ b/app/views/site/welcome.html.erb
@@ -4,27 +4,13 @@
 
 <% content_for :heading do %>
   <h2><%= t "welcome_page.title" %></h2>
-  <h3><%= t "welcome_page.subtitle" %></h3>
 <% end %>
 
 <div class='pad2'>
   <p><%= t "welcome_page.introduction_html" %></p>
 </div>
 
-<div class='pad2 drop'>
-  <h3><%= t "welcome_page.one_map_many_uses.title" %></h3>
-  <div class='center one-map'>
-    <div class='sprite large one-map'>
-      <span class='one-map-name one-map-project-name'><%= t "layouts.project_name.title" %></span>
-      <% t("welcome_page.one_map_many_uses.names").sample(6).each_with_index do |name, i| %>
-        <span class='one-map-name one-map-name-<%= i+1 %>'><%= name %></span>
-      <% end %>
-    </div>
-  </div>
-  <p><%= t "welcome_page.one_map_many_uses.paragraph_1_html" %></p>
-</div>
-
-<div class='pad2 drop clearfix'>
+<div class='pad2 clearfix'>
   <h3><%= t "welcome_page.whats_on_the_map.title" %></h3>
   <div class='col6 pad1'>
     <div class='center pad1'>
@@ -40,7 +26,7 @@
   </div>
 </div>
 
-<div class='pad2 drop'>
+<div class='pad2'>
   <h3><%= t "welcome_page.basic_terms.title" %></h3>
   <p><%= t "welcome_page.basic_terms.paragraph_1_html" %></p>
   <div class='col12 clearfix'>
@@ -63,7 +49,7 @@
   </div>
 </div>
 
-<div class='pad2 drop'>
+<div class='pad2'>
   <h3><%= t "welcome_page.questions.title" %></h3>
   <div class='center pad1'>
     <span class='sprite small term question'></span>
@@ -71,24 +57,8 @@
   <p><%= t "welcome_page.questions.paragraph_1_html" %></p>
 </div>
 
-<div class='pad2 drop'>
-  <h3><%= t "welcome_page.contributing.title" %></h3>
-  <% if @user %>
-    <p>
-      <%= t "welcome_page.contributing.paragraph_1_html" %>
-      <span class='edit-located'><%= t "welcome_page.contributing.paragraph_located" %></span>
-      <span class='edit-geocoded'><%= t "welcome_page.contributing.paragraph_geocoded_html" %></span>
-      <span class='edit-geolocated'><%= t "welcome_page.contributing.paragraph_geolocated" %></span>
-    </p>
-    <div class='center'>
-      <a href="<%= edit_path %>" class="edit-located edit-geocoded edit-geolocated start-mapping"><%= t "welcome_page.contributing.start_mapping" %></a>
-    </div>
-  <% else %>
-    <p><%= t "welcome_page.contributing.paragraph_1_no_user_html" %></p>
-    <div class='center'>
-      <a href="<%= user_new_path %>" class="sign-up"><%= t "welcome_page.contributing.sign_up" %></a>
-    </div>
-  <% end %>
+<div class='pad2 center'>
+  <a href="<%= edit_path %>" class="start-mapping"><%= t "welcome_page.start_mapping" %></a>
 </div>
 
 <div class='note-box pad2 drop'>
diff --git a/app/views/user/new.html.erb b/app/views/user/new.html.erb
index 7324ddd29..7d5439d6f 100644
--- a/app/views/user/new.html.erb
+++ b/app/views/user/new.html.erb
@@ -1,12 +1,10 @@
 <% content_for :heading do %>
-  <h1><%= t 'user.new.heading' %></h1>
+  <h1><%= t 'user.new.title' %></h1>
 <% end %>
 
-<p><%= t 'user.new.fill_form' %></p>
+<%= form_for :user, :url => { :action => 'create' }, :html => { :class => 'col6' } do %>
+  <%= error_messages_for 'user' %>
 
-<%= error_messages_for 'user' %>
-
-<%= form_for :user, :url => { :action => 'create' } do %>
   <%= hidden_field_tag('referer', h(@referer)) unless @referer.nil? %>
 
   <div id="signupForm" class="standard-form">
@@ -72,6 +70,11 @@
   </div>
 <% end %>
 
+<div class='col6'>
+  <h3><%= t 'user.new.about.header' %></h3>
+  <%= t 'user.new.about.html' %>
+</div>
+
 <script type="text/javascript">
 function enableOpenID()
 {
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 0a0fa9888..063057d62 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1149,31 +1149,11 @@ en:
         procedure</a> or file directly at our
         <a href="http://dmca.openstreetmap.org/">on-line filing page</a>.
   welcome_page:
-    title: Welcome to OpenStreetMap
-    subtitle: a free map that you can edit
+    title: Welcome!
     introduction_html: |
-      Unlike other maps, OpenStreetMap is completely <abbr title="OpenStreetMap has over
-      1 million users, who add data based on local knowledge, GPS tracks, and more">created
-      by people like you</abbr>, and free for anyone to fix, update, download and use.
-      Here's a quick guide to get you started.
-    one_map_many_uses:
-      title: One Map, Many Uses
-      paragraph_1_html: |
-        OpenStreetMap is used in websites, phones, hand-held GPS devices, sat-navs, and even
-        games and art projects. This site is the place to make contributions to the map which
-        will be available to all of these sites and applications. Copying the map data from
-        place to place can take from a few minutes to a few hours, so don't worry if it isn't
-        instant.
-      names:
-        - Apple
-        - Craigslist
-        - Flickr
-        - Foursquare
-        - Garmin
-        - Le Monde
-        - MapQuest
-        - Telenav
-        - USA Today
+      Welcome to OpenStreetMap, the free and editable map of the world. Now that you're signed
+      up, you're all set to get started mapping. Here's a quick guide with the most important
+      things you need to know.
     whats_on_the_map:
       title: What's on the Map
       on_html: |
@@ -1203,24 +1183,7 @@ en:
       paragraph_1_html: |
         Need help mapping, or not clear on how to use OpenStreetMap? Get your questions answered
         on <a href='http://help.openstreetmap.org/'>the help website</a>.
-    contributing:
-      title: Start Contributing
-      paragraph_1_html: |
-        With your user account, you can edit the map and <abbr title="Users on OpenStreetMap talk
-        over mailing lists, chat, and private messages sent on the website">collaborate with other
-        mappers</abbr>. To start contributing, zoom in anywhere in the world and click the <em>Edit</em>
-        button.
-      paragraph_located: |
-        Or, start contributing now:
-      paragraph_geocoded_html: |
-        Or, start near <span class='edit-geocoded-location'></span>:
-      paragraph_geolocated: |
-        Or, start directly at your current location:
-      paragraph_1_no_user_html: |
-        To edit OpenStreetMap, you'll need a user account. Once you have an account, you can zoom in
-        anywhere in the world and click the <em>Edit</em> button to start contributing.
-      start_mapping: Start Mapping
-      sign_up: Sign Up
+    start_mapping: Start Mapping
     add_a_note:
       title: No Time To Edit? Add a Note!
       paragraph_1_html: |
@@ -1736,11 +1699,15 @@ en:
       flash changed: "Your password has been changed."
       flash token bad: "Did not find that token, check the URL maybe?"
     new:
-      title: "Create account"
-      heading: "Create a User Account"
+      title: "Sign Up"
       no_auto_account_create: "Unfortunately we are not currently able to create an account for you automatically."
       contact_webmaster: 'Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> to arrange for an account to be created - we will try and deal with the request as quickly as possible.'
-      fill_form: "Fill in the form and we will send you a quick email to activate your account."
+      about:
+        header: Free and editable
+        html: |
+          <p>Unlike other maps, OpenStreetMap is completely created by people like you,
+          and free for anyone to fix, update, download and use.</p>
+          <p>Sign up to get started contributing. We'll send an email to confirm your account.</p>
       license_agreement: 'When you confirm your account you will need to agree to the <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">contributor terms</a>.'
       email address: "Email Address:"
       confirm email address: "Confirm Email Address:"
@@ -1762,7 +1729,7 @@ en:
             with your OpenID in your user settings.
           </li>
         </ul>
-      continue: Continue
+      continue: Sign Up
       flash welcome: "Thanks for signing up. We've sent a welcome message to %{email} with some hints on getting started."
       flash create success message: "Thanks for signing up. We've sent a confirmation note to %{email} and as soon as you confirm your account you'll be able to get mapping.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
       terms accepted: "Thanks for accepting the new contributor terms!"
diff --git a/test/functional/user_controller_test.rb b/test/functional/user_controller_test.rb
index 61286b284..52a0e0b5c 100644
--- a/test/functional/user_controller_test.rb
+++ b/test/functional/user_controller_test.rb
@@ -199,7 +199,7 @@ class UserControllerTest < ActionController::TestCase
 
     assert_select "html", :count => 1 do
       assert_select "head", :count => 1 do
-        assert_select "title", :text => /Create account/, :count => 1
+        assert_select "title", :text => /Sign Up/, :count => 1
       end
       assert_select "body", :count => 1 do
         assert_select "div#content", :count => 1 do
@@ -209,7 +209,7 @@ class UserControllerTest < ActionController::TestCase
             assert_select "input[id=user_display_name]", :count => 1
             assert_select "input[id=user_pass_crypt][type=password]", :count => 1
             assert_select "input[id=user_pass_crypt_confirmation][type=password]", :count => 1
-            assert_select "input[type=submit][value=Continue]", :count => 1
+            assert_select "input[type=submit][value=Sign Up]", :count => 1
           end
         end
       end
-- 
2.39.5