diff options
| author | Mark Wells <mark@freeside.biz> | 2012-03-23 10:49:02 -0700 |
|---|---|---|
| committer | Mark Wells <mark@freeside.biz> | 2012-03-23 10:49:02 -0700 |
| commit | 366aebcc7afc387f52f83ac6da648bf150198891 (patch) | |
| tree | 8abbc50fc2751d8de518e4e3d1a4bc5ef6d96658 /FS | |
| parent | 117e725f126180bc34e1c5d25d7cfca13edf2b02 (diff) | |
customer signup report, #17050
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/Report/Table.pm | 18 | ||||
| -rw-r--r-- | FS/FS/cust_main/Search.pm | 9 |
2 files changed, 27 insertions, 0 deletions
diff --git a/FS/FS/Report/Table.pm b/FS/FS/Report/Table.pm index e8971ec7a..3942543b5 100644 --- a/FS/FS/Report/Table.pm +++ b/FS/FS/Report/Table.pm @@ -32,6 +32,24 @@ options in %opt. =over 4 +=item signups: The number of customers signed up. + +=cut + +sub signups { + my( $self, $speriod, $eperiod, $agentnum, %opt ) = @_; + my @where = ( + $self->in_time_period_and_agent($speriod, $eperiod, $agentnum, 'signupdate') + ); + if ( $opt{'refnum'} ) { + push @where, "refnum = ".$opt{'refnum'}; + } + + $self->scalar_sql( + "SELECT COUNT(*) FROM cust_main WHERE ".join(' AND ', @where) + ); +} + =item invoiced: The total amount charged on all invoices. =cut diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm index c5b5ff6d0..62464e4aa 100644 --- a/FS/FS/cust_main/Search.pm +++ b/FS/FS/cust_main/Search.pm @@ -447,6 +447,8 @@ HASHREF. Valid parameters are =item address +=item refnum + =item cancelled_pkgs bool @@ -553,6 +555,13 @@ sub search { ')'; } + ### + # refnum + ### + if ( $params->{'refnum'} =~ /^(\d+)$/ ) { + push @where, "refnum = $1"; + } + ## # parse cancelled package checkbox ## |
