Merge branch 'master' into openid
authorTom Hughes <tom@compton.nu>
Thu, 10 Feb 2011 14:10:19 +0000 (14:10 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 10 Feb 2011 14:10:19 +0000 (14:10 +0000)
Conflicts:
app/controllers/user_controller.rb
app/views/user/login.html.erb
public/stylesheets/common.css

1  2 
app/controllers/user_controller.rb
app/models/user.rb
app/views/user/account.html.erb
app/views/user/login.html.erb
config/locales/en.yml
config/locales/is.yml
public/stylesheets/common.css
test/test_helper.rb

@@@ -107,7 -76,8 +107,8 @@@ class UserController < ApplicationContr
  
        if @user.save
          flash[:notice] = t 'user.new.flash create success message', :email => @user.email
 -        Notifier.deliver_signup_confirm(@user, @user.tokens.create(:referer => params[:referer]))
 +        Notifier.deliver_signup_confirm(@user, @user.tokens.create(:referer => session.delete(:referer)))
+         session[:token] = @user.tokens.create.token
          redirect_to :action => 'login'
        else
          render :action => 'new'
        @user.home_lat = params[:user][:home_lat]
        @user.home_lon = params[:user][:home_lon]
  
 -      if @user.save
 -        set_locale
+       if params[:user][:preferred_editor] == "default"
+         @user.preferred_editor = nil
+       else
+         @user.preferred_editor = params[:user][:preferred_editor]
+       end
 +      @user.openid_url = nil if params[:user][:openid_url].empty?
  
 -        if @user.new_email.nil? or @user.new_email.empty?
 -          flash[:notice] = t 'user.account.flash update success'
 -        else
 -          flash[:notice] = t 'user.account.flash update success confirm needed'
 -
 -          begin
 -            Notifier.deliver_email_confirm(@user, @user.tokens.create)
 -          rescue
 -            # Ignore errors sending email
 -          end
 -        end
 -
 -        redirect_to :action => "account", :display_name => @user.display_name
 +      if params[:user][:openid_url].length > 0 and
 +         params[:user][:openid_url] != @user.openid_url
 +        # If the OpenID has changed, we want to check that it is a
 +        # valid OpenID and one the user has control over before saving
 +        # it as a password equivalent for the user.
 +        session[:new_user] = @user
 +        openid_verify(params[:user][:openid_url], @user)
 +      else
 +        update_user(@user)
 +      end
 +    elsif using_open_id?
 +      # The redirect from the OpenID provider reenters here
 +      # again and we need to pass the parameters through to
 +      # the open_id_authentication function
 +      @user = session.delete(:new_user)
 +      openid_verify(nil, @user) do |user|
 +        update_user(user)
        end
      else
        if flash[:errors]
Simple merge
Simple merge
@@@ -1,85 -1,25 +1,80 @@@
- <h1><%= t 'user.login.heading' %></h1>
+ <div id="login_wrapper">
 +
- <p><%= t 'user.login.please login', :create_user_link => link_to(t('user.login.create_account'), :controller => 'user', :action => 'new', :referer => params[:referer]) %></p>
+   <div id="login_login">
+     <h1><%= t 'user.login.heading' %></h1>
  
- <% form_tag({ :action => "login" }, { :id => "login_form" }) do %>
-   <%= hidden_field_tag('referer', h(params[:referer])) %>
 -    <p><%= t 'user.login.already have' %></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">
-       <h3><%= t 'user.login.username_heading' %></h3>
-       <table>
-         <tr>
-           <td class="fieldName"><label for="user_email"><%= t 'user.login.email or username' %></label></td>
-           <td><%= text_field_tag("username", "", { :size => 28, :maxlength => 255, :tabindex => 1 }) %></td>
-         </tr>
-         <tr>
-           <td class="fieldName"><label for="user_password"><%= t 'user.login.password' %></label></td>
-           <td><%= password_field_tag("password", "", { :size => 28, :maxlength => 255, :tabindex => 2 }) %></td>
-         </tr>
++      <p><%= t 'user.login.with username' %></p>
++
+       <table id="loginForm">
+         <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}) %> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
+         <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></tr>
+       </table>
+       <%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
++
++      <p><%= t 'user.login.with openid' %></p>
++
++      <table id="login_openid_buttons">
 +        <tr>
-           <td></td>
-           <td><span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td>
++          <td>
++            <%=
++              link_to_function(image_tag("openid_large.png", :alt => t("user.login.openid_providers.openid.title")), nil, :title => t("user.login.openid_providers.openid.title")) do |page|
++                page[:login_form][:openid_url].value = "http://"
++                page[:login_openid_buttons].hide
++                page[:login_openid_url].show
++                page[:login_openid_submit].show
++              end
++            %>
++          </td>
++          <td><%= openid_button "yahoo", "me.yahoo.com" %></td>
++          <td><%= openid_button "google", "gmail.com" %></td>
 +        </tr>
 +        <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><%= openid_button "myopenid", "myopenid.com" %></td>
++          <td><%= openid_button "wordpress", "wordpress.com" %></td>
++          <td><%= openid_button "myspace", "myspace.com" %></td>
 +        </tr>
 +      </table>
 +
-       <%= submit_tag t('user.login.login_button'), :tabindex => 4 %>
-     </div>
-     <div style="float:left; width: 20px; padding: 10px;">
-     </div>
-     <div class="loginBox">
-       <h3><%= t 'user.login.openid_heading' %></h3>
-       <div id="openid_buttons">
-         <%=
-           link_to_function(image_tag("openid_large.png", :alt => t("user.login.openid_providers.openid.title")), nil, :title => t("user.login.openid_providers.openid.title")) do |page|
-             page[:login_form][:openid_url].value = "http://"
-             page[:openid_buttons].hide
-             page[:openid_url].show
-             page[:openid_url_hint].show
-             page[:openid_submit].show
-           end
-         %>
-         <%= openid_button "yahoo", "me.yahoo.com" %>
-         <%= openid_button "google", "gmail.com" %>
-         <%= openid_button "myopenid", "myopenid.com" %>
-         <%= openid_button "wordpress", "wordpress.com" %>
-         <%= openid_button "myspace", "myspace.com" %>
-       </div>
 +      <table>
-         <tr id="openid_url">
++        <tr id="login_openid_url">
 +          <td class="fieldName nowrap">
 +            <%= t 'user.login.openid', :logo => openid_logo %>
 +          </td>
-           <td><%= text_field_tag("openid_url", "", { :size => 28, :maxlength => 255, :tabindex => 3, :class => "openid_url" }) %></td>
-         </tr>
-         <tr id="openid_url_hint">
-           <td></td>
 +          <td>
++            <%= text_field_tag("openid_url", "", { :size => 28, :maxlength => 255, :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>
 +          </td>
 +        </tr>
 +        <tr>
 +          <td class="fieldName nowrap" id="remember_me_label"><label for="remember_me"><%= t 'user.login.remember' %></label></td>
 +          <td width="100%"><%= check_box_tag "remember_me", "yes", false, :tabindex => 5 %></td>
 +        </tr>
 +      </table>
 +
-       <%= submit_tag t('user.login.login_button'), :tabindex => 6, :id => "openid_submit" %>
-     </div>
++      <%= submit_tag t('user.login.login_button'), :tabindex => 6, :id => "login_openid_submit" %>
+     <% end %>
++
+     <br clear="both">
    </div>
- <% end %>
++
+   <div id="login_signup">
+     <h2><%= t 'user.login.new to osm' %></h2>
+     <p><%= t 'user.login.to make changes' %></p>
+     <p><%= t 'user.login.create account minute' %></p></p>
+     <p><%= button_to t('user.login.register now'), :action => :new, :referer => params[:referer] %></p>
++
+     <br clear="both">
+   </div>
++
+ </div>
 +
 +<%=
 +  update_page_tag do |page|
-     page[:openid_url].hide
-     page[:openid_url_hint].hide
-     page[:openid_submit].hide
++    page[:login_openid_url].hide
++    page[:login_openid_submit].hide
 +  end
 +%>
      login:
        title: "Login"
        heading: "Login"
--      please login: "Please login or {{create_user_link}}."
--      create_account: "create an account"
        email or username: "Email Address or Username:"
        password: "Password:"
-       username_heading: "Login with username and password:"
-       openid_heading: "Login with OpenID:"
 +      openid: "{{logo}} OpenID:"
        remember: "Remember me:"
        lost password link: "Lost your password?"
        login_button: "Login"
 -      already have: Already have an OpenStreetMap account? Please login.
+       register now: Register now
++      with username: "Already have an OpenStreetMap account? Please login with your username and password:"
++      with openid: "Alternatively please use your OpenID to login:"
+       new to osm: New to OpenStreetMap?
+       to make changes: To make changes to the OpenStreetMap data, you must have an account.
+       create account minute: Create an account. It only takes a minute.
        account not active: "Sorry, your account is not active yet.<br />Please use the link in the account confirmation email to activate your account, or <a href=\"{{reconfirm}}\">request a new confirmation email</a>."
        account suspended: Sorry, your account has been suspended due to suspicious activity.<br />Please contact the {{webmaster}} if you wish to discuss this.
        webmaster: webmaster
Simple merge
@@@ -583,35 -626,34 +626,38 @@@ hr 
    margin-top: 10px;
  }
  
- /* Rules for the login form */
+ /* Rules for the login page */
  
- .loginBox {
-   float: left;
-   border-style: solid;
-   border-width: 1px;
-   padding-left: 10px;
-   padding-right: 10px;
-   padding-bottom: 10px;
+ #login_wrapper {
+   float: left; /* ensures the child divs are the same size, and only as wide as they need to be */
  }
  
- .loginBox table {
-   width: 100%;
+ #login_wrapper div {
+   margin: 5px;
+   padding: 15px;
+   border-radius: 15px;
+   -moz-border-radius: 15px;
  }
  
.loginBox img {
-   border: 0;
#login_wrapper input[type=submit] {
+   float: right;
  }
  
.loginBox #openid_buttons img {
-   vertical-align: middle;
#login_login {
+   background-color: #f0f0f0;
  }
  
.loginBox input[type="submit"] {
-   float: right;
#login_login h1 {
+   margin-top: 5px;
  }
  
- #openid_buttons {
-   margin-bottom: 20px;
++#login_openid_buttons img {
++  border: 0;
++}
++
+ #login_signup form.button-to div {
+   margin: 0px;
+   padding: 0px;
  }
  
  /* Rules for the account confirmation page */
@@@ -790,11 -838,6 +842,11 @@@ input[type="submit"] 
    border: 1px solid black;
  }
  
-   background: url('../images/openid_input.png') repeat-y left;
 +input.openid_url { 
++  background: url('../images/openid_input.png') repeat-y left white;
 +  padding-left: 16px;
 +}
 +
  /* Rules for user images */
  
  img.user_image {
Simple merge