render :partial => "terms"
else
@title = t 'user.terms.title'
- @user ||= session[:new_user]
- if !@user
- redirect_to :action => :login, :referer => request.fullpath
- elsif @user.terms_agreed?
+ if @user and @user.terms_agreed?
# Already agreed to terms, so just show settings
redirect_to :action => :account, :display_name => @user.display_name
+ elsif session[:new_user].nil?
+ redirect_to :action => :login, :referer => request.fullpath
end
end
end
else
session[:referer] = params[:referer]
- @user = User.new(params[:user])
+ @user = User.new(user_params)
@user.status = "pending"
if @user.openid_url.present? && @user.pass_crypt.empty?
cookies.permanent["_osm_username"] = user.display_name
- if user.new_email.blank?
+ if user.new_email.blank? or user.new_email == user.email
flash.now[:notice] = t 'user.account.flash update success'
else
user.email = user.new_email
# it's .now so that this doesn't propagate to other pages.
flash.now[:skip_terms] = true
end
+
+ ##
+ # return permitted user parameters
+ def user_params
+ params.require(:user).permit(:email, :email_confirmation, :display_name, :openid_url, :pass_crypt, :pass_crypt_confirmation)
+ end
end