From 55a5a2a5c88e333ed15c53551cbfa7b405ce0516 Mon Sep 17 00:00:00 2001 From: Daniela Soares Feitosa Date: Wed, 16 Dec 2009 20:51:45 -0300 Subject: [PATCH] Each domain is alowed to have its own GoogleMap key --- app/helpers/search_helper.rb | 2 +- app/models/google_maps.rb | 12 ++++++------ app/models/location_block.rb | 2 +- app/views/maps/_google_map.rhtml | 2 +- app/views/search/_google_maps.rhtml | 2 +- db/migrate/078_add_google_maps_key_to_domain.rb | 11 +++++++++++ test/functional/maps_controller_test.rb | 9 +++++++++ test/functional/search_controller_test.rb | 34 ++++++++++++++++++++++++++++++++++ test/unit/domain_test.rb | 10 ++++++++++ test/unit/google_maps_test.rb | 25 ++++++++++++++++--------- 10 files changed, 90 insertions(+), 19 deletions(-) create mode 100644 db/migrate/078_add_google_maps_key_to_domain.rb diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb index 29f4648..def426d 100644 --- a/app/helpers/search_helper.rb +++ b/app/helpers/search_helper.rb @@ -20,7 +20,7 @@ module SearchHelper def display_results(use_map = true) - unless use_map && GoogleMaps.enabled? + unless use_map && GoogleMaps.enabled?(environment.default_hostname) return render(:partial => 'display_results') end diff --git a/app/models/google_maps.rb b/app/models/google_maps.rb index 72955a2..b29376e 100644 --- a/app/models/google_maps.rb +++ b/app/models/google_maps.rb @@ -14,20 +14,20 @@ class GoogleMaps @config ||= (web2_conf['googlemaps'] || {}) end - def enabled? - !config['key'].nil? + def enabled?(domain) + !Domain.find_by_name(domain).google_maps_key.nil? end - def key - config['key'] || '' + def key(domain) + Domain.find_by_name(domain).google_maps_key || '' end def initial_zoom config['initial_zoom'] || 4 end - def api_url - "http://maps.google.com/maps?file=api&v=2&key=#{key}" + def api_url(domain) + "http://maps.google.com/maps?file=api&v=2&key=#{key(domain)}" end end diff --git a/app/models/location_block.rb b/app/models/location_block.rb index 7d38c93..915ed5c 100644 --- a/app/models/location_block.rb +++ b/app/models/location_block.rb @@ -20,7 +20,7 @@ class LocationBlock < Block '', + profile.lng.to_s() + ',green&key=' + GoogleMaps::key(profile.default_hostname) + '&sensor=false"/>', :class => 'the-localization-map' ) else content_tag('i', _('This profile has no geographical position registered.')) diff --git a/app/views/maps/_google_map.rhtml b/app/views/maps/_google_map.rhtml index 4cba405..5a73ec8 100644 --- a/app/views/maps/_google_map.rhtml +++ b/app/views/maps/_google_map.rhtml @@ -1,4 +1,4 @@ -<%= content_tag('script', '', :src => GoogleMaps.api_url, :type => 'text/javascript') %> +<%= content_tag('script', '', :src => GoogleMaps.api_url(profile.default_hostname), :type => 'text/javascript') %>