From: Tom Hughes Date: Sat, 2 Apr 2011 15:20:29 +0000 (+0100) Subject: Tidy up a few things X-Git-Tag: live~6234^2~97 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/392aa71015d68d7633da8c3dea6e43e281bc8ac4?hp=b3bcbbeb3b8f844fe729fffe87a55e6253ffdfb5 Tidy up a few things --- diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index a22bc13ed..34987c938 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -99,16 +99,18 @@ class ApplicationController < ActionController::Base end end - # check if the user has been banned - unless @user.nil? or @user.active_blocks.empty? - # NOTE: need slightly more helpful message than this. - render :text => t('application.setup_user_auth.blocked'), :status => :forbidden - end - # if the user hasn't seen the contributor terms then don't - # allow editing - they have to go to the web site and see - # (but can decline) the CTs to continue. - if REQUIRE_TERMS_SEEN - unless @user.nil? or @user.terms_seen + # have we identified the user? + if @user + # check if the user has been banned + if not @user.active_blocks.empty? + # NOTE: need slightly more helpful message than this. + render :text => t('application.setup_user_auth.blocked'), :status => :forbidden + end + + # if the user hasn't seen the contributor terms then don't + # allow editing - they have to go to the web site and see + # (but can decline) the CTs to continue. + if REQUIRE_TERMS_SEEN and not @user.terms_seen render :text => t('application.setup_user_auth.need_to_see_terms'), :status => :forbidden end end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 631c91035..b1fb9c5b8 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -218,13 +218,14 @@ class UserController < ApplicationController session[:user] = user.id session_expires_after 1.month if params[:remember_me] - # if the user hasn't seen the contributor terms then redirect them - # to that page. + # The user is logged in, so decide where to send them: + # + # - If they haven't seen the contributor terms, send them there. + # - If they have a block on them, show them that. + # - If they were referred to the login, send them back there. + # - Otherwise, send them to the home page. if REQUIRE_TERMS_SEEN and not user.terms_seen redirect_to :controller => 'user', :action => 'terms', :referer => params[:referer] - # The user is logged in, if the referer param exists, redirect - # them to that unless they've also got a block on them, in - # which case redirect them to the block so they can clear it. elsif user.blocked_on_view redirect_to user.blocked_on_view, :referer => params[:referer] elsif params[:referer]