fix customer package browse selection, RT#39822
authorIvan Kohler <ivan@freeside.biz>
Sat, 12 Mar 2016 02:42:13 +0000 (18:42 -0800)
committerIvan Kohler <ivan@freeside.biz>
Sat, 12 Mar 2016 02:42:13 +0000 (18:42 -0800)
FS/FS/cust_main/Packages.pm
httemplate/view/cust_main/packages.html

index 1c921d6..13c2945 100644 (file)
@@ -434,7 +434,7 @@ sub all_pkgs {
   my $self = shift;
   my $extra_qsearch = ref($_[0]) ? shift : { @_ };
 
-  return $self->num_pkgs unless wantarray || keys %$extra_qsearch;
+  return $self->num_pkgs($extra_qsearch) unless wantarray;
 
   my @cust_pkg = ();
   if ( $self->{'_pkgnum'} && ! keys %$extra_qsearch ) {
@@ -464,11 +464,11 @@ Returns all non-cancelled packages (see L<FS::cust_pkg>) for this customer.
 
 sub ncancelled_pkgs {
   my $self = shift;
-  my $extra_qsearch = ref($_[0]) ? shift : {};
+  my $extra_qsearch = ref($_[0]) ? shift : { @_ };
 
   local($DEBUG) = $FS::cust_main::DEBUG if $FS::cust_main::DEBUG > $DEBUG;
 
-  return $self->num_ncancelled_pkgs unless wantarray;
+  return $self->num_ncancelled_pkgs($extra_qsearch) unless wantarray;
 
   my @cust_pkg = ();
   if ( $self->{'_pkgnum'} ) {
index 9add4b2..33ffecc 100755 (executable)
@@ -302,8 +302,8 @@ if ( $cgi->param('locationnum') =~ /^(\d+)$/ ) {
 
 my $total_pkgs = $cust_main->all_pkgs;
 
-my $num_method = $hide_cancelled ? 'ncancelled_pkgs' : 'all_pkgs';
-my $num_pkgs = $cust_main->$num_method({ 
+my $method = $hide_cancelled ? 'ncancelled_pkgs' : 'all_pkgs';
+my $num_pkgs = $cust_main->$method({ 
   'addl_from' => $addl_from,
   'extra_sql' => $extra_sql,
 });
@@ -311,7 +311,7 @@ my $num_pkgs = $cust_main->$num_method({
 my $maxrecords = 10;
 my $offset = $cgi->param('offset') =~ /^(\d+)$/ ? $1 : 0;
 
-my @packages = $cust_main->all_pkgs( {
+my @packages = $cust_main->$method( {
   'select'    => "$cust_pkg_fields, $part_pkg_fields, $num_svcs",
   'addl_from' => $addl_from. "
     LEFT JOIN part_pkg_option AS setup_option