Use resourceful routes for terms view/accept/decline
This commit is contained in:
parent
44843c1dd7
commit
606b5c1b6a
15 changed files with 204 additions and 171 deletions
|
@ -6,7 +6,6 @@ class UsersController < ApplicationController
|
|||
layout "site"
|
||||
|
||||
skip_before_action :verify_authenticity_token, :only => [:auth_success]
|
||||
before_action :disable_terms_redirect, :only => [:terms, :save]
|
||||
before_action :authorize_web
|
||||
before_action :set_locale
|
||||
before_action :check_database_readable
|
||||
|
@ -106,57 +105,6 @@ class UsersController < ApplicationController
|
|||
redirect_to user_path(:display_name => params[:display_name])
|
||||
end
|
||||
|
||||
def terms
|
||||
@legale = params[:legale] || OSM.ip_to_country(request.remote_ip) || Settings.default_legale
|
||||
@text = OSM.legal_text_for_country(@legale)
|
||||
|
||||
if request.xhr?
|
||||
render :partial => "terms"
|
||||
else
|
||||
@title = t ".title"
|
||||
|
||||
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)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def save
|
||||
@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 => "users/terms_declined_flash" } if current_user.save
|
||||
|
||||
referer = safe_referer(params[:referer]) if params[:referer]
|
||||
|
||||
redirect_to referer || edit_account_path
|
||||
elsif params[:decline]
|
||||
redirect_to t("users.terms.declined"), :allow_other_host => true
|
||||
else
|
||||
redirect_to :action => :terms
|
||||
end
|
||||
elsif current_user
|
||||
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
|
||||
end
|
||||
|
||||
referer = safe_referer(params[:referer]) if params[:referer]
|
||||
|
||||
redirect_to referer || edit_account_path
|
||||
end
|
||||
end
|
||||
|
||||
def go_public
|
||||
current_user.data_public = true
|
||||
current_user.save
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue