optimizations for large package lists, RT#28526
[freeside.git] / httemplate / view / cust_main / packages / section.html
index 82d0620..4980fee 100755 (executable)
@@ -11,8 +11,8 @@
 %   foreach my $cust_pkg (@$packages) {
     <& .packagerow, $cust_pkg,
         ( map { $_ => $opt{$_} } qw(
-            cust_main bgcolor
-            no_links before_pkg_callback before_svc_callback after_svc_callback
+            cust_main bgcolor no_links cust_location_cache
+            before_pkg_callback before_svc_callback after_svc_callback
         )),
         %conf_opt
     &>
     </TD>
     <& services.html, %iopt &>
   </TR>
+% # insert hidden predecessors to this package, if any
+% # and a rolldown button to show them
+% # (we'll make it do something later)
+% if ( $cust_pkg->get('changed_from_pkg') ) {
+  <TR CLASS="row<% $row % 2 %>">
+    <TD COLSPAN=4>
+    <BUTTON CLASS="rolldown_button"
+            ID="rolldown_<% $cust_pkg->change_pkgnum %>">
+      History &#x2b07;
+    </BUTTON>
+% # the hidden block here has ID="cust_pkgX" where X is the first pkgnum
+% # it contains.
+    <& hidden.html, $cust_pkg->get('changed_from_pkg'),
+       %iopt,
+       'next_pkg' => $cust_pkg,
+    &>
+    </TD>
+  </TR>
+% }
 % $row++;
+% # show the change target, if there is one
+% if ( $cust_pkg->change_to_pkg ) {
+    <& .packagerow, $cust_pkg->change_to_pkg, %iopt, 'change_from' => 1 &>
+% }
 % # include supplemental packages if any
 % $iopt{'supplemental'} = ($iopt{'supplemental'} || 0) + 1;
 % foreach my $supp_pkg ($cust_pkg->supplemental_pkgs) {
@@ -73,6 +96,11 @@ my $pkg_attached = ( scalar(keys %change_custnum) == 1
 my $countrydefault = scalar($conf->config('countrydefault')) || 'US';  
 
 my %conf_opt = (
+  #for package.html
+  'invoice-unitprice'         => $conf->exists('invoice-unitprice'),
+  'show_pkgnum'               => $curuser->option('show_pkgnum'),
+  'part_pkg-term_discounts'   => $conf->exists('part_pkg-term_discounts'),
+
   #for services.html and status.html
   'cust_pkg-display_times'    => ($conf->exists('cust_pkg-display_times')
                                  || $curuser->option('cust_pkg-display_times')),
@@ -87,6 +115,10 @@ my %conf_opt = (
   'countrydefault'            => $countrydefault,
   'statedefault'              => ( scalar($conf->config('statedefault'))
                                   || ($countrydefault eq 'US' ? 'CA' : '') ),
+  'cust_pkg-group_by_location'=> $conf->exists('cust_pkg-group_by_location'),
+  'cust_main-require_censustract'=> $conf->exists('cust_main-require_censustract'),
+  'company_address'           => [ $conf->config('company_address', $opt{cust_main}->agentnum ) ],
+  
   #for services.html
   'svc_external-skip_manual'  => $conf->exists('svc_external-skip_manual'),
   'legacy_link'               => $conf->exists('legacy_link'),
@@ -95,6 +127,7 @@ my %conf_opt = (
   'manage_link_loc'           => scalar($conf->config('svc_broadband-manage_link_loc')),
   'manage_link-new_window'    => $conf->exists('svc_broadband-manage_link-new_window'),
   'cust_pkg-large_pkg_size'   => scalar($conf->config('cust_pkg-large_pkg_size')),
+  'cust_pkg-hide_discontinued-part_svc' => $conf->exists('cust_pkg-hide_discontinued-part_svc'),
 
 );