71873: GlobalVision - directions [better error handling]
[freeside.git] / httemplate / view / map.html
index d996a33..b3459dc 100644 (file)
@@ -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>