X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_pkg.cgi;h=f0408e48925c1f94ce8590a4d3f2bef56b416dcb;hb=4dc8bf3514ea36d834b238d5af0098779c4a44ad;hp=7a6f49a2335e64370a4505db1c197b6ba67b53ed;hpb=783eefa4a70dd88dd13ffd73c4e23361288628f0;p=freeside.git diff --git a/httemplate/search/cust_pkg.cgi b/httemplate/search/cust_pkg.cgi index 7a6f49a23..f0408e489 100755 --- a/httemplate/search/cust_pkg.cgi +++ b/httemplate/search/cust_pkg.cgi @@ -71,19 +71,7 @@ } } else { - [ map { - [ - { 'data' => $_->[0]. ':', - 'align'=> 'right', - }, - { 'data' => $_->[1], - 'align'=> 'left', - 'link' => $p. 'view/' . - $_->[2]. '.cgi?'. $_->[3], - }, - ]; - } $cust_pkg->labels - ]; + [ $process_svc_labels->( $cust_pkg ) ] } } ], @@ -157,15 +145,20 @@ my %search_hash = (); $search_hash{'query'} = $cgi->keywords; #scalars -for (qw( agentnum custnum magic status classnum custom cust_fields pkgbatch )) { +for (qw( agentnum custnum magic status custom cust_fields pkgbatch )) { $search_hash{$_} = $cgi->param($_) if $cgi->param($_); } -$search_hash{'pkgpart'} = [ $cgi->param('pkgpart') ]; +#arrays +for my $param (qw( pkgpart classnum )) { + $search_hash{$param} = [ $cgi->param($param) ] + if grep { $_ eq $param } $cgi->param; +} -for my $param ( qw(censustract) ) { +#scalars that need to be passed if empty +for my $param (qw( censustract censustract2 )) { $search_hash{$param} = $cgi->param($param) || '' - if ( grep { /$param/ } $cgi->param ); + if grep { $_ eq $param } $cgi->param; } my @report_option = $cgi->param('report_option') @@ -261,4 +254,50 @@ my $html_init = sub { return $text; }; +my $large_pkg_size = $conf->config('cust_pkg-large_pkg_size'); + +my $process_svc_labels = sub { + my $cust_pkg = shift; + my @out; + foreach my $part_svc ( $cust_pkg->part_svc) { + # some false laziness with view/cust_main/packages/services.html + + my $num_cust_svc = $cust_pkg->num_cust_svc( $part_svc->svcpart ); + + if ( $large_pkg_size > 0 and $large_pkg_size <= $num_cust_svc ) { + my $href = $p.'search/cust_pkg_svc.html?svcpart='.$part_svc->svcpart. + ';pkgnum='.$cust_pkg->pkgnum; + push @out, [ + { 'data' => $part_svc->svc . ':', + 'align' => 'right', + 'rowspan' => 2 }, + { 'data' => mt('(view all [_1])', $num_cust_svc), + 'data_style' => 'b', + 'align' => 'left', + 'link' => $href, }, + ], + [ + { 'data' => include('/elements/search-cust_svc.html', + 'svcpart' => $part_svc->svcpart, + 'pkgnum' => $cust_pkg->pkgnum, + ), + 'align' => 'left' }, + ]; + } + else { + foreach ( map { [ $_->label ] } @{ $part_svc->cust_pkg_svc } ) { + push @out, [ + { 'data' => $_->[0]. ':', + 'align'=> 'right', }, + { 'data' => $_->[1], + 'align'=> 'left', + 'link' => $p. 'view/' . + $_->[2]. '.cgi?'. $_->[3], }, + ]; + } + } + } #foreach $cust_pkg + return @out; +}; +