summaryrefslogtreecommitdiff
path: root/FS/FS/ClientAPI/MasonComponent.pm
diff options
context:
space:
mode:
authorivan <ivan>2009-10-22 12:50:05 +0000
committerivan <ivan>2009-10-22 12:50:05 +0000
commit09d3b99715ac707d64b1a06d8a2432b76ddb173d (patch)
treefb30940e8e62851814f1795dcfa98cabc2c4f56b /FS/FS/ClientAPI/MasonComponent.pm
parent11e7e902c43e46585ccf43e67b11ed040f6655f7 (diff)
restrict additinal package order option, RT#6029
Diffstat (limited to 'FS/FS/ClientAPI/MasonComponent.pm')
-rw-r--r--FS/FS/ClientAPI/MasonComponent.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/MasonComponent.pm b/FS/FS/ClientAPI/MasonComponent.pm
index 88baf07..2027840 100644
--- a/FS/FS/ClientAPI/MasonComponent.pm
+++ b/FS/FS/ClientAPI/MasonComponent.pm
@@ -59,6 +59,21 @@ my %session_callbacks = (
}
qsearch( 'part_pkg', { 'disabled' => '' }, '', 'ORDER BY pkg' ); # case?
+ my $conf = new FS::Conf;
+ if ( $conf->exists('pkg-addon_classnum') ) {
+
+ my %classnum = map { ( $_->addon_classnum => 1 ) }
+ grep { $_->freq !~ /^0/ }
+ map { $_->part_pkg }
+ $cust_main->ncancelled_pkgs;
+
+ warn "classnums: ". join(',', keys %classnum). "\n";
+
+ unless ( $classnum{''} ) {
+ @part_pkg = grep $classnum{ $_->classnum }, @part_pkg;
+ }
+ }
+
my %args = @$argsref;
$args{part_pkg} = \@part_pkg;
@$argsref = ( %args );