diff options
author | mark <mark> | 2011-06-23 21:30:10 +0000 |
---|---|---|
committer | mark <mark> | 2011-06-23 21:30:10 +0000 |
commit | d8299144d2175f1695adafe29e9549bd9b158e2f (patch) | |
tree | b13ec9c626bcb5a902244714e0933d2d944cb4a9 /httemplate/search/cust_pkg.cgi | |
parent | 6e0ae9815a528a46b6f0c98fc5cdff67a95ed278 (diff) |
large package display in customer/package search, #13364
Diffstat (limited to 'httemplate/search/cust_pkg.cgi')
-rwxr-xr-x | httemplate/search/cust_pkg.cgi | 60 |
1 files changed, 47 insertions, 13 deletions
diff --git a/httemplate/search/cust_pkg.cgi b/httemplate/search/cust_pkg.cgi index 7a6f49a23..8187f7735 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 ) ] } } ], @@ -261,4 +249,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; +}; + </%init> |