[freeside-commits] freeside/httemplate/view/cust_main/packages location.html, 1.8, 1.9 package.html, 1.8, 1.9 section.html, NONE, 1.1

Mark Wells mark at wavetail.420.am
Mon Dec 13 23:29:15 PST 2010


Update of /home/cvs/cvsroot/freeside/httemplate/view/cust_main/packages
In directory wavetail.420.am:/tmp/cvs-serv29584/httemplate/view/cust_main/packages

Modified Files:
	location.html package.html 
Added Files:
	section.html 
Log Message:
cust_location editing features, RT#10766

Index: package.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/view/cust_main/packages/package.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -w -d -r1.8 -r1.9
--- package.html	22 Sep 2010 19:16:20 -0000	1.8
+++ package.html	14 Dec 2010 07:29:12 -0000	1.9
@@ -168,8 +168,16 @@
 %       }
 
       </TR>
+%     if ( $curuser->access_right('Change customer package') and 
+%           !$cust_pkg->get('cancel') and
+%           !$opt{'show_location'}) {
+      <TR>
+        <TD><FONT SIZE="-1">
+          (&nbsp;<% pkg_change_location_link($cust_pkg) %>&nbsp;)
+        </FONT></TD>
+      </TR>
+%     }
 %   }
-
   </TABLE>
 
 </TD>
@@ -184,6 +192,10 @@
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 
+my $countrydefault = $opt{'countrydefault'} || 'US';
+my $statedefault   = $opt{'statedefault'}
+                     || ($countrydefault eq 'US' ? 'CA' : '');
+
 #subroutines
 
 #false laziness w/status.html
@@ -204,6 +216,19 @@
   );
 }
 
+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 pkg_dates_link { pkg_link('edit/REAL_cust_pkg', 'Edit&nbsp;dates', @_ ); }
 
 sub pkg_discount_link {

--- NEW FILE: section.html ---
% if ( @$packages ) { 
%   my $bgcolor1 = '#eeeeee';
%   my $bgcolor2 = '#ffffff';
%   my $bgcolor = '';

<TR>
% #my $width = $show_location ? 'WIDTH="25%"' : 'WIDTH="33%"';
  <TH CLASS="grid" BGCOLOR="#cccccc">Package</TH>
  <TH CLASS="grid" BGCOLOR="#cccccc">Status</TH>
%   if ( $show_location ) {
  <TH CLASS="grid" BGCOLOR="#cccccc">Location</TH>
% }
  <TH CLASS="grid" BGCOLOR="#cccccc">Services</TH>
</TR>

% #$FS::cust_pkg::DEBUG = 2;
%   foreach my $cust_pkg (@$packages) {
%
%     if ( $bgcolor eq $bgcolor1 ) {
%       $bgcolor = $bgcolor2;
%     } else {
%       $bgcolor = $bgcolor1;
%     }
%
%     my %iopt = (
%       'bgcolor'  => $bgcolor,
%       'cust_pkg' => $cust_pkg,
%       'part_pkg' => $cust_pkg->part_pkg,
%       %conf_opt,
%     );
%

  <!--pkgnum: <% $cust_pkg->pkgnum %>-->
  <TR>
    <% include('package.html',  %iopt) %>
    <% include('status.html',   %iopt) %>
%     if ( $show_location ) {
    <% include('location.html', %iopt) %>
%     }
    <% include('services.html', %iopt) %>
  </TR>

%   } #foreach $cust_pkg
%# </TABLE>
% } #if @$packages
% else {
<BR>
% }

<%init>

my %opt = @_;
my $conf = new FS::Conf;

my $curuser = $FS::CurrentUser::CurrentUser;

my $packages = $opt{'packages'};
my $show_location = $opt{'show_location'};

# Sort order is hardcoded for now, can change this if needed.
@$packages = sort { 
  ( $a->getfield('cancel') <=> $b->getfield('cancel') )  or
  ( $a->getfield('setup')  <=> $b->getfield('setup')  )  or
  ( $a->getfield('pkgnum') <=> $b->getfield('pkgnum') )
} @$packages;

my $countrydefault = scalar($conf->config('countrydefault')) || 'US';  

my %conf_opt = (
  #for services.html and status.html
  'cust_pkg-display_times'    => $conf->exists('cust_pkg-display_times')
                                 || $curuser->option('cust_pkg-display_times')),
  #for status.html
  'cust_pkg-show_autosuspend' => $conf->exists('cust_pkg-show_autosuspend'),
  #for status.html pkg-balances
  'pkg-balances'              => $conf->exists('pkg-balances'),
  'money_char'                => ( $conf->config('money_char') || '$' ),

  #for location.html
  'countrydefault'            => $countrydefault,
  'statedefault'              => ( scalar($conf->config('statedefault'))
                                  || ($countrydefault eq 'US' ? 'CA' : '') ),
  #for services.html
  'svc_external-skip_manual'  => $conf->exists('svc_external-skip_manual'),
  'legacy_link'               => $conf->exists('legacy_link'),
  'svc_broadband-manage_link' => scalar($conf->config('svc_broadband-manage_link')),
  'maestro-status_test'       => $conf->exists('maestro-status_test'),
  'cust_pkg-large_pkg_size'   => $conf->config('cust_pkg-large_pkg_size'),

  # for packages.html Change location link
  'show_location'             => $show_location,
);


</%init>

Index: location.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/view/cust_main/packages/location.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -w -d -r1.8 -r1.9
--- location.html	28 Dec 2009 19:18:20 -0000	1.8
+++ location.html	14 Dec 2010 07:29:12 -0000	1.9
@@ -21,12 +21,16 @@
 % {
   <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'};
@@ -50,4 +54,13 @@
   );
 }
 
+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>



More information about the freeside-commits mailing list