Make /user/new handle already logged in users better
This commit is contained in:
parent
0e33245b1d
commit
88bf67b092
1 changed files with 12 additions and 7 deletions
|
@ -253,16 +253,21 @@ class UserController < ApplicationController
|
||||||
def new
|
def new
|
||||||
@title = t 'user.new.title'
|
@title = t 'user.new.title'
|
||||||
@referer = params[:referer] || session[:referer]
|
@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]
|
if @user
|
||||||
# The user is logged in already, so don't show them the signup
|
# The user is logged in already, so don't show them the signup
|
||||||
# page, instead send them to the home page
|
# page, instead send them to the home page
|
||||||
redirect_to :controller => 'site', :action => 'index'
|
if @referer
|
||||||
elsif not params['openid'].nil?
|
redirect_to @referer
|
||||||
|
else
|
||||||
|
redirect_to :controller => 'site', :action => 'index'
|
||||||
|
end
|
||||||
|
elsif params.key?(:openid)
|
||||||
|
@user = User.new(:email => params[:email],
|
||||||
|
:email_confirmation => params[:email],
|
||||||
|
:display_name => params[:nickname],
|
||||||
|
:openid_url => params[:openid])
|
||||||
|
|
||||||
flash.now[:notice] = t 'user.new.openid association'
|
flash.now[:notice] = t 'user.new.openid association'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue