1 # frozen_string_literal: true
 
   4   class TermsController < ApplicationController
 
   9     before_action -> { authorize_web(:skip_terms => true) }
 
  10     before_action :set_locale
 
  11     before_action :check_database_readable
 
  13     authorize_resource :class => :account_terms
 
  16       @legale = params[:legale] || OSM.ip_to_country(request.remote_ip) || Settings.default_legale
 
  17       @text = OSM.legal_text_for_country(@legale)
 
  18       @text_legale = @legale
 
  19       @text_legale = "GB" unless @legale == "FR" || @legale == "IT"
 
  22         render :partial => "terms"
 
  29       if params[:decline] || !(params[:read_tou] && params[:read_ct])
 
  30         current_user.terms_seen = true
 
  32         flash[:notice] = { :partial => "accounts/terms/terms_declined_flash" } if current_user.save
 
  34         current_user.tou_agreed = Time.now.utc
 
  35         current_user.terms_agreed = Time.now.utc
 
  36         current_user.terms_seen = true
 
  38         flash[:notice] = t ".terms accepted" if current_user.save
 
  41       referer = safe_referer(params[:referer]) if params[:referer]
 
  43       redirect_to referer || account_path