Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / view / cust_main / packages / location.html
index 3f84148..ab961b7 100644 (file)
@@ -1,35 +1,84 @@
-<TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
-
-% unless ( $cust_pkg->locationnum ) {
-  <I><FONT SIZE=-1>(default service address)</FONT><BR>
+% if ( $default ) {
+  <DIV STYLE="font-style: italic; font-size: small">
 % }
 
-  <% $loc->address1 |h %><BR>
-
-% if ( $loc->address2 !~ /^\s*$/ ) {
-    <% $loc->address2 |h %><BR>
-% }
+    <% $loc->location_label( 'join_string'     => '<BR>',
+                             'double_space'    => ' &nbsp; ',
+                             'escape_function' => \&encode_entities,
+                             'countrydefault'  => $countrydefault,
+                           )
+    %>
 
-  <% $loc->city |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,
+             $opt{'cust_main'}->agentnum,
+        &>
+        </FONT>
+%   }
 
-% if ( $loc->country ne $countrydefault ) {
-  <% code2country( $loc->country ) %>
+% if ( $default ) {
+  </DIV>
 % }
 
-  </I>
+% if ( ! $cust_pkg->get('cancel')
+%      && $FS::CurrentUser::CurrentUser->access_right('Change customer package')
+%    )
+% {
+  <BR>
+  <FONT SIZE=-1>
+%   unless ( $opt{no_links} ) {
+      (&nbsp;<%pkg_change_location_link($cust_pkg)%>&nbsp;)
+%   }
+%   if ( $cust_pkg->locationnum && ! $opt{no_links} ) {
+        (&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;
+# 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;
+  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,
+    'width'       => 763,
+    'height'      => 380,
+  );
+}
+
+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'),
+    'width'       => 700,
+    'height'      => 355,
+   );
+}
 
 </%init>