diff options
-rw-r--r-- | httemplate/search/elements/gmap.html | 15 | ||||
-rw-r--r-- | httemplate/search/sector.html | 27 | ||||
-rwxr-xr-x | httemplate/search/svc_broadband-map.html | 40 | ||||
-rw-r--r-- | httemplate/view/cust_main/menu.html | 13 | ||||
-rw-r--r-- | httemplate/view/cust_main/packages/package.html | 2 |
5 files changed, 66 insertions, 31 deletions
diff --git a/httemplate/search/elements/gmap.html b/httemplate/search/elements/gmap.html index b7d135dd6..47db1507d 100644 --- a/httemplate/search/elements/gmap.html +++ b/httemplate/search/elements/gmap.html @@ -99,11 +99,16 @@ function initMap() { // construct bounds around all of the features var bounds = new google.maps.LatLngBounds; map.data.forEach(function(feature) { - var g = feature.getGeometry(); - if (g.getType() == 'Point') { - bounds.extend(g.get()); - } else if (g.getArray) { - g.getArray().forEach(function(point) { bounds.extend(point); }); + var b = feature.getProperty('bounds'); + if (b) { // if it specifies an ROI, include all of it + bounds.union(b); + } else { + var g = feature.getGeometry(); + if (g.getType() == 'Point') { + bounds.extend(g.get()); + } else if (g.getArray) { + g.getArray().forEach(function(point) { bounds.extend(point); }); + } } }); diff --git a/httemplate/search/sector.html b/httemplate/search/sector.html index 037df10ea..f93264907 100644 --- a/httemplate/search/sector.html +++ b/httemplate/search/sector.html @@ -59,19 +59,20 @@ % $text = 'Reprocess'; % } <form name="create_<% $sectornum |h %>"> - <input type="hidden" name="sectornum" value="<% $sectornum |h %>"> - <& /elements/progress-init.html, - 'create_'.$sectornum, - [ 'sectornum' ], - $fsurl.'misc/sector-create_map.html', - { 'message' => 'Map generated', - 'url' => $cgi->self_url }, - "sector$sectornum" - &> - <a class="createmap" href="#" onclick="sector<% $sectornum %>process()"> - <% $text %> - </a> -% } + <input type="hidden" name="sectornum" value="<% $sectornum |h %>"> + <& /elements/progress-init.html, + 'create_'.$sectornum, + [ 'sectornum' ], + $fsurl.'misc/sector-create_map.html', + { 'message' => 'Map generated', + 'url' => $cgi->self_url }, + "sector$sectornum" + &> + <a class="createmap" href="#" onclick="sector<% $sectornum %>process()"> + <% $text %> + </a> + </form> +% } # if @need_fields </td> <td> % if ( length($sector->image) > 0 ) { diff --git a/httemplate/search/svc_broadband-map.html b/httemplate/search/svc_broadband-map.html index fe3c0950b..95a31d352 100755 --- a/httemplate/search/svc_broadband-map.html +++ b/httemplate/search/svc_broadband-map.html @@ -114,9 +114,44 @@ foreach my $svc_broadband (@rows) { } # if tower has coords } # foreach $svc_broadband +# if we were given a towernum or sectornum, ensure that the map includes +# that tower/sector, even if there are no services + +foreach my $towernum ($cgi->param('towernum')) { + next if $towernum !~ /^\d+$/; + next if exists($towers{$towernum}); + $towers{$towernum} = FS::tower->by_key($towernum); +} + +foreach my $sectornum ($cgi->param('sectornum')) { + next if $sectornum !~ /^\d+$/; + next if exists($sectors{$sectornum}); + $sectors{$sectornum} = FS::tower_sector->by_key($sectornum) + or die "bad sectornum $sectornum"; + # and put it on the tower list also + my $towernum = $sectors{$sectornum}->towernum; + if (!exists($towers{$towernum})) { + $towers{$towernum} = FS::tower->by_key($towernum); + } +} + +# if the tower/sector was included in the search, but has no services, set +# default bounds around it of 1 minute in each direction +my $default_bounds = 0.017; + foreach my $tower (values(%towers)) { my $towernum = $tower->towernum; - my $bounds = $tower_bounds{$towernum}; + $tower_coord{$towernum} ||= [ $tower->longitude + 0, + $tower->latitude + 0, + ($tower->altitude || 0) + 0 + ]; +warn encode_json($tower_coord{$towernum}); + my $bounds = $tower_bounds{$towernum} + ||= { 'north' => $tower->latitude + $default_bounds, + 'south' => $tower->latitude - $default_bounds, + 'east' => $tower->longitude + $default_bounds, + 'west' => $tower->longitude - $default_bounds, + }; # add some padding for easier reading my $dx = 0.1 * ($bounds->{east} - $bounds->{west}); my $dy = 0.1 * ($bounds->{north} - $bounds->{south}); @@ -135,7 +170,7 @@ foreach my $tower (values(%towers)) { style => { icon => { path => undef, - url => $fsurl.'images/jcartier-antenna-square-21x51.png', + url => $fsurl.'images/antenna-square-21x51.png', anchor => { x => 10, y => 4 } }, }, @@ -157,7 +192,6 @@ foreach my $sector (values %sectors) { push @overlays, $o; }; }; - </%init> <%def .svc_broadband> % my $svc = shift; diff --git a/httemplate/view/cust_main/menu.html b/httemplate/view/cust_main/menu.html index 7b8f68a8c..4d35a0235 100644 --- a/httemplate/view/cust_main/menu.html +++ b/httemplate/view/cust_main/menu.html @@ -64,14 +64,6 @@ background: transparent; } -%# #customer_menu ul li.ui-state-active { -%# background: #f8f0fc; -%# border: 1px solid #7e0079; -%# border-radius: 2px; -%# margin-right: 1px; -%# margin-left: 1px; -%# } - </style> <& /elements/dropdown-menu.html, @@ -91,7 +83,10 @@ my $custnum = $cust_main->custnum; my $curuser = $FS::CurrentUser::CurrentUser; my $conf = FS::Conf->new; -my %payby = map { $_ => 1 } $conf->config('payby'); +my @payby = grep /\w/, $conf->config('payby'); +@payby = (qw( CARD DCRD CHEK DCHK )) + unless @payby; +my %payby = map { $_ => 1 } @payby; # cached for conditions, to avoid looking it up twice my $invoicing_list_emailonly = $cust_main->invoicing_list_emailonly; diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html index dd15c7b71..ed460de11 100644 --- a/httemplate/view/cust_main/packages/package.html +++ b/httemplate/view/cust_main/packages/package.html @@ -254,7 +254,7 @@ acl => 'Change customer package', condition => $reg_recur_cond, popup => "misc/change_pkg.cgi?$plink". - ';locationnum='. $cust_pkg->locationnum. + ';locationnum='. $cust_pkg->locationnum, actionlabel => emt('Change package'), #width => 768, width => 960, |