From 2c7d4f461a5d42178e88d04c34a3f8ca256ee285 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 30 Oct 2009 23:29:18 +0000 Subject: more reporting options for failed billing events, RT#6447 --- FS/FS/cust_event.pm | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'FS/FS/cust_event.pm') diff --git a/FS/FS/cust_event.pm b/FS/FS/cust_event.pm index 10fb0ac..bf3a5b7 100644 --- a/FS/FS/cust_event.pm +++ b/FS/FS/cust_event.pm @@ -322,9 +322,23 @@ specified in HASHREF. Valid parameters are =over 4 -=item +=item agentnum -=item +=item custnum + +=item invnum + +=item pkgnum + +=item failed + +=item beginning + +=item ending + +=item payby + +=item =back @@ -340,12 +354,15 @@ sub search_sql { join("\n", map { " $_: ". $param->{$_} } keys %$param ). "\n"; } - my @search = (); + my @search = $class->cust_search_sql($param); - if ( $param->{'agentnum'} && $param->{'agentnum'} =~ /^(\d+)$/ ) { - push @search, "cust_main.agentnum = $1"; - #my $agent = qsearchs('agent', { 'agentnum' => $1 } ); - #die "unknown agentnum $1" unless $agent; + #eventpart + my @eventpart = ref($param->{'eventpart'}) + ? @{ $param->{'eventpart'} } + : split(',', $param->{'eventpart'}); + @eventpart = grep /^(\d+)$/, @eventpart; + if ( @eventpart ) { + push @search, 'eventpart IN ('. join(',', @eventpart). ')'; } if ( $param->{'beginning'} =~ /^(\d+)$/ ) { @@ -361,10 +378,6 @@ sub search_sql { "statustext != 'N/A'"; } - #if ( $param->{'part_event.payby'} =~ /^(\w+)$/ ) { - # push @search, "part_event.payby = '$1'"; - #} - if ( $param->{'custnum'} =~ /^(\d+)$/ ) { push @search, "cust_main.custnum = '$1'"; } @@ -379,13 +392,8 @@ sub search_sql { "tablenum = '$1'"; } - #here is the agent virtualization - push @search, - $FS::CurrentUser::CurrentUser->agentnums_sql( 'table' => 'cust_main' ); - my $where = 'WHERE '. join(' AND ', @search ); - join(' AND ', @search ); } -- cgit v1.1