diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2016-09-23 21:46:14 -0500 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2016-09-23 21:46:14 -0500 |
commit | ae14e320388fa5e7f400bff1c251ef885b7952e6 (patch) | |
tree | fe5375cf0a0619e148ecb9005984fc81f40d744b /httemplate | |
parent | e1acfb2921b35fe097015208e8072a2675d01d69 (diff) |
71873: GlobalVision - directions [better error handling]
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/elements/coord-links.html | 4 | ||||
-rw-r--r-- | httemplate/elements/google_maps_api_key.html | 15 | ||||
-rw-r--r-- | httemplate/view/directions.html | 17 | ||||
-rw-r--r-- | httemplate/view/map.html | 18 |
4 files changed, 46 insertions, 8 deletions
diff --git a/httemplate/elements/coord-links.html b/httemplate/elements/coord-links.html index a755791..f27ffd3 100644 --- a/httemplate/elements/coord-links.html +++ b/httemplate/elements/coord-links.html @@ -1,7 +1,5 @@ <& /elements/init_overlib.html &> -% if ( $apikey ) { - <& /elements/popup_link.html, 'action' => $p. 'view/map.html?'. $query, 'label' => mt('map'), @@ -21,8 +19,6 @@ &> % } -% } # end if $apikey - <A HREF="<%$p%>view/kml.cgi?<% $query %>"><% mt('earth') |h %></A> <%init> diff --git a/httemplate/elements/google_maps_api_key.html b/httemplate/elements/google_maps_api_key.html new file mode 100644 index 0000000..0a4b764 --- /dev/null +++ b/httemplate/elements/google_maps_api_key.html @@ -0,0 +1,15 @@ +% if ($opt{'autherror'}) { +<P STYLE="color: red;"> +There was an authentication error when loading google maps. +Please check validity of existing key. +</P> +% } + +<P>In order to display google maps, your site administrator will need to set the +<B>google_maps_api_key</B> setting under Configuration -> Settings. Please see the Google Maps +<a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_top">Get +a Key/Authentication</a> documentation for information on acquiring a key.</P> + +<%init> +my %opt = @_; +</%init> diff --git a/httemplate/view/directions.html b/httemplate/view/directions.html index a07df40..f23b7eb 100644 --- a/httemplate/view/directions.html +++ b/httemplate/view/directions.html @@ -1,3 +1,5 @@ +% if ( $apikey ) { + %# the actual page <& /elements/header-popup.html, { title => '',#$name, @@ -10,6 +12,11 @@ <div id="directions_panel"></div> <div id="map_canvas"></div> +% } else { +<& /elements/header-popup.html &> +<& /elements/google_maps_api_key.html &> +% } + <%def .head> % my $lat = $cgi->param('lat'); % my $lon = $cgi->param('lon'); @@ -38,8 +45,6 @@ body { height: 100%; margin: 0px; padding: 0px } } </style> -% my $conf = new FS::Conf; -% my $apikey = $conf->config('google_maps_api_key'); <script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3&key=<% $apikey %>"> </script> @@ -69,6 +74,12 @@ function show_route() { }); } +// function name specified by google maps api, special hook for auth errors +function gm_authFailure () { + document.body.innerHTML = +<% include('/elements/google_maps_api_key.html', autherror => 1) |js_string%>; +} + function initialize() { var myOptions = { zoom: 14, @@ -88,6 +99,8 @@ function initialize() { </%def> <%shared> my ($lat, $lon, $name, $origin); +my $conf = new FS::Conf; +my $apikey = $conf->config('google_maps_api_key'); </%shared> <%init> diff --git a/httemplate/view/map.html b/httemplate/view/map.html index d996a33..b3459dc 100644 --- a/httemplate/view/map.html +++ b/httemplate/view/map.html @@ -1,3 +1,5 @@ +% if ( $apikey ) { + %# the actual page <& /elements/header-popup.html, { title => '',#$name, @@ -9,6 +11,11 @@ <div id="map_canvas"></div> +% } else { +<& /elements/header-popup.html &> +<& /elements/google_maps_api_key.html &> +% } + <%def .head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> @@ -22,8 +29,6 @@ body { height: 100%; margin: 0px; padding: 0px } @media print { #map_canvas { height: 500px; margin: 0; } } </style> -% my $conf = new FS::Conf; -% my $apikey = $conf->config('google_maps_api_key'); <script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3&key=<% $apikey %>"> </script> @@ -31,6 +36,13 @@ body { height: 100%; margin: 0px; padding: 0px } var lengthLine=0; var map; +// function name specified by google maps api, special hook for auth errors +function gm_authFailure () { + document.body.innerHTML = +<% include('/elements/google_maps_api_key.html', autherror => 1) |js_string%>; +} + + function initialize() { var latlng = new google.maps.LatLng(<%$lat%>, <%$lon%>); var myOptions = { @@ -57,6 +69,8 @@ function initialize() { </%def> <%shared> my ($lat, $lon, $name); +my $conf = new FS::Conf; +my $apikey = $conf->config('google_maps_api_key'); </%shared> <%init> |