add latitude/longitude to prospects, customers and package locations, RT#15539
[freeside.git] / httemplate / view / cust_main / packages / location.html
index 0f58b36..1bfca00 100644 (file)
@@ -1,35 +1,79 @@
-<TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
+<TD CLASS="inv" BGCOLOR="<% $bgcolor %>" WIDTH="20%">
 
 % unless ( $cust_pkg->locationnum ) {
-  <I><FONT SIZE=-1>(default service address)</FONT><BR>
+  <I><FONT SIZE=-1>(<% mt('default service address') |h %>)</FONT><BR>
 % }
 
-  <% $loc->address1 |h %><BR>
+    <% $loc->location_label( 'join_string'     => '<BR>',
+                             'double_space'    => ' &nbsp; ',
+                             'escape_function' => \&encode_entities,
+                             'countrydefault'  => $countrydefault,
+                           )
+    %>
 
-% if ( $loc->address2 !~ /^\s*$/ ) {
-    <% $loc->address2 |h %><BR>
-% }
-
-  <% $loc->city |h %><% $loc->county ? ' ('.$loc->county.' county)' : '' |h %>,
-  <% $loc->state |h %> &nbsp; <% $loc->zip |h %><BR>
+%   if ( $loc->latitude && $loc->longitude ) {
+        <BR>
+        <FONT SIZE=-1>
+        <% $loc->latitude %>, <% $loc->longitude %>
+        <& /elements/coord-links.html,
+             $loc->latitude,
+             $loc->longitude,
+             $opt{'cust_main'}->name_short. ': '. $opt{'part_pkg'}->pkg
+        &>
+        </FONT>
+%   }
 
-% if ( $loc->country ne $countrydefault ) {
-  <% code2country( $loc->country ) %>
+% unless ( $cust_pkg->locationnum ) {
+  </I>
 % }
 
-  </I>
+% 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;<%edit_location_link($cust_pkg->locationnum)%>&nbsp;)
+%   }
+  </FONT>
+% } 
 
 </TD>
 <%init>
 
+my $conf = new FS::Conf;
 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;
 
+sub pkg_change_location_link {
+  my $cust_pkg = shift;
+  my $pkgpart = $cust_pkg->pkgpart;
+  include( '/elements/popup_link-cust_pkg.html',
+    'action'      => $p. "misc/change_pkg.cgi?locationnum=-1;pkgpart=$pkgpart;".
+                     "address1=;address2=;city=;county=;state=$statedefault;".
+                     "zip=;country=$countrydefault",
+    'label'       => emt('Change location'),
+    'actionlabel' => emt('Change'),
+    'cust_pkg'    => $cust_pkg,
+  );
+}
+
+sub edit_location_link {
+  my $locationnum = shift;
+  include( '/elements/popup_link.html',
+    'action'      => $p. "edit/cust_location.cgi?locationnum=$locationnum",
+    'label'       => emt('Edit location'),
+    'actionlabel' => emt('Edit'),
+  );
+}
+
 </%init>