aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/services_controller.rb
blob: 00c0e61bd18b890607fc21afc6577b5dbde28607 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# controllers/services_controller.rb:

require 'open-uri'

class ServicesController < ApplicationController
    def other_country_message
        text = ""
        iso_country_code = MySociety::Config.get('ISO_COUNTRY_CODE').downcase
        if country_from_ip.downcase != iso_country_code
            found_country = WorldFOIWebsites.by_code(country_from_ip)
            found_country_name = !found_country.nil? && found_country[:country_name]
            old_locale = FastGettext.locale
            FastGettext.locale = FastGettext.best_locale_in(request.env['HTTP_ACCEPT_LANGUAGE'])
            if found_country_name
                text = _("Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}", :country_name => found_country_name, :link_to_website => "<a href=\"#{found_country[:url]}\">#{found_country[:name]}</a>")
            else
                current_country = WorldFOIWebsites.by_code(iso_country_code)[:country_name]
                text = _("Hello! We have an  <a href=\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\">important message</a> for visitors outside {{country_name}}", :country_name => current_country)
            end
            FastGettext.locale = old_locale            
        end
        if !text.empty?
            text += ' <span class="close-button">X</span>'
        end
        render :text => text, :content_type => "text/plain"  # XXX workaround the HTML validation in test suite
    end
    def hidden_user_explanation
        info_request = InfoRequest.find(params[:info_request_id])
        render :template => "admin_request/hidden_user_explanation", 
               :content_type => "text/plain",
               :layout => false,
               :locals => {:name_to => info_request.user.name, 
                          :name_from => MySociety::Config.get("CONTACT_NAME", 'Alaveteli'), 
                          :info_request => info_request, :reason => params[:reason],
                          :info_request_url => 'http://' + MySociety::Config.get('DOMAIN') + request_url(info_request),
                          :site_name => site_name}
    end
end