summaryrefslogtreecommitdiff
path: root/FS/FS/cust_class.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-04-19 17:16:25 -0700
committerIvan Kohler <ivan@freeside.biz>2017-04-19 17:16:25 -0700
commitff47ea64ff72717fa76b8cbb1d2d136910a5e6f1 (patch)
treeccc27aea79c0911c3c30ed1908b7437988a2e38f /FS/FS/cust_class.pm
parentbbcc87b4f8a5e6c6fc2bd4d4cce17ae45d905a8d (diff)
customer links on customer class browse
Diffstat (limited to 'FS/FS/cust_class.pm')
-rw-r--r--FS/FS/cust_class.pm28
1 files changed, 28 insertions, 0 deletions
diff --git a/FS/FS/cust_class.pm b/FS/FS/cust_class.pm
index fdc92ba..a71bc16 100644
--- a/FS/FS/cust_class.pm
+++ b/FS/FS/cust_class.pm
@@ -3,6 +3,7 @@ use base qw( FS::class_Common );
use strict;
use FS::cust_category;
+use FS::Record qw( dbh );
=head1 NAME
@@ -117,8 +118,35 @@ sub cust_category {
Returns the category name associated with this class, or false if there
is none.
+=item num_prospect
+
+=item num_ordered
+
+=item num_active
+
+=item num_inactive
+
+=item num_suspended
+
+=item num_cancelled
+
=cut
+sub num_sql {
+ my( $self, $sql ) = @_;
+ my $statement = "SELECT COUNT(*) FROM cust_main WHERE classnum = ? AND $sql";
+ my $sth = dbh->prepare($statement) or die dbh->errstr." preparing $statement";
+ $sth->execute($self->classnum) or die $sth->errstr. " executing $statement";
+ $sth->fetchrow_arrayref->[0];
+}
+
+sub num_prospect { shift->num_sql(FS::cust_main->prospect_sql) }
+sub num_ordered { shift->num_sql(FS::cust_main->ordered_sql) }
+sub num_active { shift->num_sql(FS::cust_main->active_sql) }
+sub num_inactive { shift->num_sql(FS::cust_main->inactive_sql) }
+sub num_suspended { shift->num_sql(FS::cust_main->susp_sql) }
+sub num_cancelled { shift->num_sql(FS::cust_main->cancel_sql) }
+
=back
=head1 BUGS