projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d0056e0
)
make sure not to pull up anything per-service / finish optimizing bulk service view...
author
ivan
<ivan>
Wed, 16 Nov 2011 01:38:32 +0000
(
01:38
+0000)
committer
ivan
<ivan>
Wed, 16 Nov 2011 01:38:32 +0000
(
01:38
+0000)
FS/FS/cust_pkg.pm
patch
|
blob
|
history
httemplate/view/cust_main/packages/services.html
patch
|
blob
|
history
diff --git
a/FS/FS/cust_pkg.pm
b/FS/FS/cust_pkg.pm
index
b1a4d03
..
4631504
100644
(file)
--- a/
FS/FS/cust_pkg.pm
+++ b/
FS/FS/cust_pkg.pm
@@
-1882,7
+1882,7
@@
sub available_part_svc {
$self->part_pkg->pkg_svc;
}
$self->part_pkg->pkg_svc;
}
-=item part_svc
+=item part_svc
[ OPTION => VALUE ... ]
Returns a list of FS::part_svc objects representing provisioned and available
services included in this package. Each FS::part_svc object also has the
Returns a list of FS::part_svc objects representing provisioned and available
services included in this package. Each FS::part_svc object also has the
@@
-1896,15
+1896,20
@@
following extra fields:
=item cust_pkg_svc (services) - array reference containing the provisioned services, as cust_svc objects
=item cust_pkg_svc (services) - array reference containing the provisioned services, as cust_svc objects
-svcnum
-label -> ($cust_svc->label)[1]
-
=back
=back
+Accepts one option: summarize_size. If specified and non-zero, will omit the
+extra cust_pkg_svc option for objects where num_cust_svc is this size or
+greater.
+
=cut
=cut
+#svcnum
+#label -> ($cust_svc->label)[1]
+
sub part_svc {
my $self = shift;
sub part_svc {
my $self = shift;
+ my %opt = @_;
#XXX some sort of sort order besides numeric by svcpart...
my @part_svc = sort { $a->svcpart <=> $b->svcpart } map {
#XXX some sort of sort order besides numeric by svcpart...
my @part_svc = sort { $a->svcpart <=> $b->svcpart } map {
@@
-1915,7
+1920,9
@@
sub part_svc {
$part_svc->{'Hash'}{'num_avail'} =
max( 0, $pkg_svc->quantity - $num_cust_svc );
$part_svc->{'Hash'}{'cust_pkg_svc'} =
$part_svc->{'Hash'}{'num_avail'} =
max( 0, $pkg_svc->quantity - $num_cust_svc );
$part_svc->{'Hash'}{'cust_pkg_svc'} =
- $num_cust_svc ? [ $self->cust_svc($part_svc->svcpart) ] : [];
+ $num_cust_svc ? [ $self->cust_svc($part_svc->svcpart) ] : []
+ unless exists($opt{summarize_size}) && $opt{summarize_size}
+ && $num_cust_svc >= $opt{summarize_size};
$part_svc->{'Hash'}{'hidden'} = $pkg_svc->hidden;
$part_svc;
} $self->part_pkg->pkg_svc;
$part_svc->{'Hash'}{'hidden'} = $pkg_svc->hidden;
$part_svc;
} $self->part_pkg->pkg_svc;
diff --git
a/httemplate/view/cust_main/packages/services.html
b/httemplate/view/cust_main/packages/services.html
index
20b3214
..
5f458e6
100644
(file)
--- a/
httemplate/view/cust_main/packages/services.html
+++ b/
httemplate/view/cust_main/packages/services.html
@@
-10,7
+10,10
@@
function clearhint_search_cust_svc(obj, str) {
}
</SCRIPT>
}
</SCRIPT>
-% foreach my $part_svc ( $cust_pkg->part_svc ) {
+% foreach my $part_svc ( $cust_pkg->part_svc(
+% 'summarize_size' => $opt{'cust_pkg-large_pkg_size'}
+% ) )
+% {
% my $num_cust_svc = $cust_pkg->num_cust_svc( $part_svc->svcpart );
% my $num_cust_svc = $cust_pkg->num_cust_svc( $part_svc->svcpart );