clean up package list UI: put actions in a dropdown
[freeside.git] / httemplate / view / cust_main / packages / location.html
index 3f84148..b855e6a 100644 (file)
@@ -1,35 +1,69 @@
-<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>(default service address)</FONT><BR>
-% }
+      <% $loc->location_label( 'join_string'     => '<BR>',
+                               'double_space'    => ' &nbsp; ',
+                               'escape_function' => \&encode_entities,
+                               'countrydefault'  => $countrydefault,
+                               'cust_main'       => $opt{'cust_main'},
+                             )
+      %>
 
-  <% $loc->address1 |h %><BR>
+%     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>
+%       }
+%     }
 
-% if ( $loc->address2 !~ /^\s*$/ ) {
-    <% $loc->address2 |h %><BR>
-% }
+%     if ( $default ) {
+      </DIV>
+%     }
+%   } # all of this is hidden if packages are grouped by location, because
+%     # it's in the top banner
 
-  <% $loc->city |h %><% %>,
-  <% $loc->state |h %> &nbsp; <% $loc->zip |h %><BR>
-
-% if ( $loc->country ne $countrydefault ) {
-  <% code2country( $loc->country ) %>
-% }
-
-  </I>
-
-</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 %opt = @_;
 
-my $bgcolor        = $opt{'bgcolor'};
 my $cust_pkg       = $opt{'cust_pkg'};
-my $part_pkg       = $opt{'part_pkg'};
-my $conf           = new FS::Conf;
-my $countrydefault = $conf->config('countrydefault') || 'US';
+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;
 
 </%init>