cust_location editing features, RT#10766
[freeside.git] / httemplate / view / cust_main / packages / location.html
index 3f84148..40a7de5 100644 (file)
@@ -4,32 +4,63 @@
   <I><FONT SIZE=-1>(default service address)</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->state |h %> &nbsp; <% $loc->zip |h %><BR>
-
-% 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')
+%    )
+% {
+  <FONT SIZE=-1>
+    (&nbsp;<%pkg_change_location_link($cust_pkg)%>&nbsp;)
+%   if ( $cust_pkg->locationnum ) {
+&nbsp;(&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'       => 'Change&nbsp;location',
+    'actionlabel' => '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'       => 'Edit&nbsp;location',
+    'actionlabel' => 'Edit',
+  );
+}
+
 </%init>