summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-09-23 21:46:14 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-09-23 21:46:14 -0500
commitae14e320388fa5e7f400bff1c251ef885b7952e6 (patch)
treefe5375cf0a0619e148ecb9005984fc81f40d744b /httemplate
parente1acfb2921b35fe097015208e8072a2675d01d69 (diff)
71873: GlobalVision - directions [better error handling]
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/elements/coord-links.html4
-rw-r--r--httemplate/elements/google_maps_api_key.html15
-rw-r--r--httemplate/view/directions.html17
-rw-r--r--httemplate/view/map.html18
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>