From: Tom Hughes Date: Wed, 19 Oct 2011 17:24:25 +0000 (+0100) Subject: Preserve field values if the signup form fails validation X-Git-Tag: live~6029 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/546db822816d87943f93af545ab61bdd5b93fb25 Preserve field values if the signup form fails validation --- diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 16b76196b..86689644c 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -253,6 +253,10 @@ class UserController < ApplicationController def new @title = t 'user.new.title' @referer = params[:referer] || session[:referer] + @user = User.new(:email => params[:email], + :email_confirmation => params[:email], + :display_name => params[:nickname], + :openid_url => params[:openid]) if session[:user] # The user is logged in already, so don't show them the signup diff --git a/app/views/user/new.html.erb b/app/views/user/new.html.erb index 1956592aa..97622ae13 100644 --- a/app/views/user/new.html.erb +++ b/app/views/user/new.html.erb @@ -12,17 +12,17 @@ <%= 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? %> - + - + @@ -33,7 +33,7 @@ - + @@ -43,7 +43,7 @@ - +
<%= t 'user.new.email address' %><%= text_field(:user, :email, { :size => 50, :maxlength => 255, :tabindex => 1, :value => params[:email] }) %><%= text_field(:user, :email, { :size => 50, :maxlength => 255, :tabindex => 1 }) %>
<%= t 'user.new.confirm email address' %><%= text_field(:user, :email_confirmation, { :size => 50, :maxlength => 255, :tabindex => 2, :value => params[:email] }) %><%= text_field(:user, :email_confirmation, { :size => 50, :maxlength => 255, :tabindex => 2 }) %>
<%= t 'user.new.display name' %><%= text_field(:user, :display_name, { :size => 30, :maxlength => 255, :tabindex => 3, :value => params[:nickname] }) %>
<%= text_field(:user, :display_name, { :size => 30, :maxlength => 255, :tabindex => 3 }) %>
<%= t 'user.new.display name description' %>
<%= raw t 'user.new.openid', :logo => openid_logo %><%= text_field(:user, :openid_url, { :id => "openid_url", :size => 50, :maxlength => 255, :tabindex => 4, :value => params[:openid], :class => "openid_url" }) %><%= text_field(:user, :openid_url, { :id => "openid_url", :size => 50, :maxlength => 255, :tabindex => 4, :class => "openid_url" }) %>