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
|
||||
@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]
|
||||
if @user
|
||||
# The user is logged in already, so don't show them the signup
|
||||
# page, instead send them to the home page
|
||||
redirect_to :controller => 'site', :action => 'index'
|
||||
elsif not params['openid'].nil?
|
||||
if @referer
|
||||
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'
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue