if @user.save
token.destroy
flash[:notice] = t "user.reset_password.flash changed"
- redirect_to :action => "login"
+ successful_login(@user)
end
end
else
elsif user = User.authenticate(:username => username, :password => password, :pending => true)
unconfirmed_login(user)
elsif User.authenticate(:username => username, :password => password, :suspended => true)
- failed_login t("user.login.account is suspended", :webmaster => "mailto:webmaster@openstreetmap.org")
+ failed_login t("user.login.account is suspended", :webmaster => "mailto:webmaster@openstreetmap.org"), username
else
- failed_login t("user.login.auth failure")
+ failed_login t("user.login.auth failure"), username
end
end
##
# process a failed login
- def failed_login(message)
+ def failed_login(message, username = nil)
flash[:error] = message
- redirect_to :action => "login", :referer => session[:referer]
+ redirect_to :action => "login", :referer => session[:referer],
+ :username => username, :remember_me => session[:remember_me]
session.delete(:remember_me)
session.delete(:referer)