diff options
| author | Mark Wells <mark@freeside.biz> | 2016-08-22 13:41:13 -0700 |
|---|---|---|
| committer | Mark Wells <mark@freeside.biz> | 2016-08-22 14:20:59 -0700 |
| commit | 2801b7c172cddcab51101d933e57a956d450ace2 (patch) | |
| tree | d61cbe4e475dce08070783cfb6d24061e195fe88 /FS/FS | |
| parent | c541cb0f1ab12a904252bd6b2658dba585860f28 (diff) | |
show data usage report link only for customers that might have data usage, #42310
Diffstat (limited to 'FS/FS')
| -rw-r--r-- | FS/FS/cust_main/Packages.pm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/FS/FS/cust_main/Packages.pm b/FS/FS/cust_main/Packages.pm index ee5bddaca..e9134021b 100644 --- a/FS/FS/cust_main/Packages.pm +++ b/FS/FS/cust_main/Packages.pm @@ -748,6 +748,28 @@ sub num_pkgs { $sth->fetchrow_arrayref->[0]; } +=item num_usage_pkgs + +Returns the number of packages for this customer that have services that +can have RADIUS usage statistics. + +=cut + +sub num_usage_pkgs { + my $self = shift; + # have to enumerate exportnums but it's not bad + my @exportnums = map { $_->exportnum } + grep { $_->can('usage_sessions') } + qsearch('part_export'); + return 0 if !@exportnums; + my $in_exportnums = join(',', @exportnums); + my $sql = "SELECT COUNT(DISTINCT pkgnum) FROM cust_pkg + JOIN cust_svc USING (pkgnum) + JOIN export_svc USING (svcpart) + WHERE exportnum IN( $in_exportnums ) AND custnum = ?"; + FS::Record->scalar_sql($sql, $self->custnum); +} + =item display_recurring Returns an array of hash references, one for each recurring freq |
