X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/45abfe49e1a27c302277e2f9f279cedf4f073439..2de26d54ef22c5653f830d0ce4938df78d0ca0fd:/app/controllers/accounts/terms_controller.rb diff --git a/app/controllers/accounts/terms_controller.rb b/app/controllers/accounts/terms_controller.rb index 0513a031c..568abcdb9 100644 --- a/app/controllers/accounts/terms_controller.rb +++ b/app/controllers/accounts/terms_controller.rb @@ -4,8 +4,7 @@ module Accounts layout "site" - before_action :disable_terms_redirect - before_action :authorize_web + before_action -> { authorize_web(:skip_terms => true) } before_action :set_locale before_action :check_database_readable @@ -20,46 +19,31 @@ module Accounts else @title = t ".title" - if current_user&.terms_agreed? + if current_user.terms_agreed? # Already agreed to terms, so just show settings - redirect_to edit_account_path - elsif current_user.nil? - redirect_to login_path(:referer => request.fullpath) + redirect_to account_path end end end def update - @title = t "users.new.title" - if params[:decline] || !(params[:read_tou] && params[:read_ct]) - if current_user - current_user.terms_seen = true - - flash[:notice] = { :partial => "accounts/terms/terms_declined_flash" } if current_user.save - - referer = safe_referer(params[:referer]) if params[:referer] + current_user.terms_seen = true - redirect_to referer || edit_account_path - elsif params[:decline] - redirect_to t("users.terms.declined"), :allow_other_host => true - else - redirect_to account_terms_path - end - elsif current_user + flash[:notice] = { :partial => "accounts/terms/terms_declined_flash" } if current_user.save + else unless current_user.terms_agreed? - current_user.consider_pd = params[:user][:consider_pd] current_user.tou_agreed = Time.now.utc current_user.terms_agreed = Time.now.utc current_user.terms_seen = true - flash[:notice] = t "users.new.terms accepted" if current_user.save + flash[:notice] = t ".terms accepted" if current_user.save end + end - referer = safe_referer(params[:referer]) if params[:referer] + referer = safe_referer(params[:referer]) if params[:referer] - redirect_to referer || edit_account_path - end + redirect_to referer || account_path end end end