cache_sweeper :user_sweeper, :only => [:account, :hide, :unhide, :delete]
+ def terms
+ @title = t 'user.new.title'
+ @user = User.new(params[:user])
+
+ country_code = params[:legale] || OSM.IPToCountry(request.remote_ip)
+ @text = OSM.legal_text_for_country(country_code)
+
+ if @user.invalid?
+ render :action => 'new'
+ end
+ end
+
def save
@title = t 'user.new.title'
@user.description = "" if @user.description.nil?
@user.creation_ip = request.remote_ip
@user.languages = request.user_preferred_languages
+ @user.terms_agreed = Time.now.getutc
if @user.save
flash[:notice] = t 'user.new.flash create success message'
end
def logout
- if session[:token]
- token = UserToken.find_by_token(session[:token])
- if token
- token.destroy
+ @title = t 'user.logout.title'
+
+ if params[:session] == request.session_options[:id]
+ if session[:token]
+ token = UserToken.find_by_token(session[:token])
+ if token
+ token.destroy
+ end
+ session[:token] = nil
+ end
+ session[:user] = nil
+ session_expires_automatically
+ if params[:referer]
+ redirect_to params[:referer]
+ else
+ redirect_to :controller => 'site', :action => 'index'
end
- session[:token] = nil
- end
- session[:user] = nil
- session_expires_automatically
- if params[:referer]
- redirect_to params[:referer]
- else
- redirect_to :controller => 'site', :action => 'index'
end
end