2 class TermsController < ApplicationController
7 before_action -> { authorize_web(:skip_terms => true) }
8 before_action :set_locale
9 before_action :check_database_readable
11 authorize_resource :class => :account_terms
14 @legale = params[:legale] || OSM.ip_to_country(request.remote_ip) || Settings.default_legale
15 @text = OSM.legal_text_for_country(@legale)
18 render :partial => "terms"
22 if current_user.terms_agreed?
23 # Already agreed to terms, so just show settings
24 redirect_to edit_account_path
30 if params[:decline] || !(params[:read_tou] && params[:read_ct])
31 current_user.terms_seen = true
33 flash[:notice] = { :partial => "accounts/terms/terms_declined_flash" } if current_user.save
35 unless current_user.terms_agreed?
36 current_user.consider_pd = params[:user][:consider_pd]
37 current_user.tou_agreed = Time.now.utc
38 current_user.terms_agreed = Time.now.utc
39 current_user.terms_seen = true
41 flash[:notice] = t ".terms accepted" if current_user.save
45 referer = safe_referer(params[:referer]) if params[:referer]
47 redirect_to referer || edit_account_path