don't look up or display census tracts for non-U.S. addresses, #32249
[freeside.git] / httemplate / view / cust_main / packages / location.html
index 5f36055..99d91e5 100644 (file)
@@ -1,45 +1,84 @@
-<TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
+% if ( $cust_pkg->change_from_pkg
+%      and $cust_pkg->change_from_pkg->locationnum == $cust_pkg->locationnum)
+% {
+% # don't show the location
+% } else {
+%   if ( !$opt{'cust_pkg-group_by_location'} ) {
+%     if ( $default ) {
+        <DIV STYLE="font-style: italic; font-size: small">
+%     }
 
-% unless ( $cust_pkg->locationnum ) {
-  <I><FONT SIZE=-1>(<% mt('default service address') |h %>)</FONT><BR>
-% }
+      <% $loc->location_label( 'join_string'     => '<BR>',
+                               'double_space'    => ' &nbsp; ',
+                               'escape_function' => \&encode_entities,
+                               'countrydefault'  => $countrydefault,
+                               'cust_main'       => $opt{'cust_main'},
+                             )
+      %>
 
-  <% $loc->location_label( 'join_string'     => '<BR>',
-                           'double_space'    => ' &nbsp; ',
-                           'escape_function' => \&encode_entities,
-                           'countrydefault'  => $countrydefault,
-                         )
-  %>
+%     if ( $loc->latitude && $loc->longitude ) {
+          <BR>
+          <FONT SIZE=-1>
+          <% $loc->latitude %>, <% $loc->longitude %>
+          <& /elements/coord-links.html, {
+               'latitude'        => $loc->latitude,
+               'longitude'       => $loc->longitude,
+               'name'            => $opt{'cust_main'}->name_short.
+                                      ': '. $opt{'part_pkg'}->pkg,
+               'company_address' => $opt{'company_address'},
+             }
+          &>
+          </FONT>
+%     }
+%     if ( $loc->country eq 'US' ) {
+%       if ( $loc->censustract ) {
+           <BR>
+           <FONT SIZE=-1>
+           <% $loc->censustract %> (<% $loc->censusyear %> census)
+           </FONT>
+%       } elsif ( $opt{'cust_main-require_censustract'} ) {
+            <BR>
+            <FONT SIZE=-1 COLOR="#ee3300">
+            <% emt('Census tract unknown') %>
+            </FONT>
+%       }
+%     }
 
-% unless ( $cust_pkg->locationnum ) {
-  </I>
-% }
+%     if ( $default ) {
+      </DIV>
+%     }
+%   } # all of this is hidden if packages are grouped by location, because
+%     # it's in the top banner
 
-% if ( ! $cust_pkg->get('cancel')
+%   if ( ! $cust_pkg->get('cancel')
 %      && $FS::CurrentUser::CurrentUser->access_right('Change customer package')
-%    )
-% {
+%     )
+%   {
+  <BR>
   <FONT SIZE=-1>
-    (&nbsp;<%pkg_change_location_link($cust_pkg)%>&nbsp;)
-%   if ( $cust_pkg->locationnum ) {
-&nbsp;(&nbsp;<%edit_location_link($cust_pkg->locationnum)%>&nbsp;)
-%   }
+%     unless ( $opt{no_links} or $opt{'change_from'} ) {
+      (&nbsp;<%pkg_change_location_link($cust_pkg)%>&nbsp;)
+%     }
+%     if ( $cust_pkg->locationnum && ! $opt{no_links} ) {
+        (&nbsp;<%pkg_edit_location_link($cust_pkg->locationnum)%>&nbsp;)
+%     }
   </FONT>
-% } 
-
-</TD>
+%   } 
+% } # if the package is a scheduled future package change without location
+%   # change, then don't show any of this at all.  It's all implied by the
+%   # preceding package.
 <%init>
 
-my $conf = new FS::Conf;
 my %opt = @_;
 
-my $bgcolor        = $opt{'bgcolor'};
 my $cust_pkg       = $opt{'cust_pkg'};
 my $countrydefault = $opt{'countrydefault'} || 'US';
 my $statedefault   = $opt{'statedefault'}
                      || ($countrydefault eq 'US' ? 'CA' : '');
 
-my $loc = $cust_pkg->cust_location_or_main;
+my $loc = $cust_pkg->cust_location_or_main('_cache'=>$opt{cust_location_cache});
+# dubious--they should all have a location now
+my $default = $cust_pkg->locationnum == $opt{'cust_main'}->ship_locationnum;
 
 sub pkg_change_location_link {
   my $cust_pkg = shift;
@@ -48,19 +87,23 @@ sub pkg_change_location_link {
     'action'      => $p. "misc/change_pkg.cgi?locationnum=-1;pkgpart=$pkgpart;".
                      "address1=;address2=;city=;county=;state=$statedefault;".
                      "zip=;country=$countrydefault",
-    'label'       => mt('Change location'),
-    'actionlabel' => mt('Change'),
+    'label'       => emt('Change location'),
+    'actionlabel' => emt('Change'),
     'cust_pkg'    => $cust_pkg,
+    'width'       => 960,
+    'height'      => 490,
   );
 }
 
-sub edit_location_link {
+sub pkg_edit_location_link {
   my $locationnum = shift;
   include( '/elements/popup_link.html',
     'action'      => $p. "edit/cust_location.cgi?locationnum=$locationnum",
-    'label'       => mt('Edit location'),
-    'actionlabel' => mt('Edit'),
-  );
+    'label'       => emt('Edit location'),
+    'actionlabel' => emt('Edit'),
+    'width'       => 700,
+    'height'      => 355,
+   );
 }
 
 </%init>