From 49d7852b0a4f44ada7bf704ebdaaa856a9e828a3 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 14 Jul 2005 11:31:35 +0000 Subject: [PATCH] add unlinked mail forward (svc_forward) report --- httemplate/index.html | 2 +- httemplate/search/svc_acct.cgi | 8 ++++---- httemplate/search/svc_forward.cgi | 27 ++++++++++++++++++++++----- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/httemplate/index.html b/httemplate/index.html index 167cd6f7b..067fec5d1 100644 --- a/httemplate/index.html +++ b/httemplate/index.html @@ -173,7 +173,7 @@ Auditing pre-Freeside services with no customer record diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi index d4565aefc..b14591958 100755 --- a/httemplate/search/svc_acct.cgi +++ b/httemplate/search/svc_acct.cgi @@ -94,10 +94,10 @@ my $sql_query = { FS::UI::Web::cust_sql_fields(), ), 'extra_sql' => "$extra_sql $orderby", - 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum ) '. - 'LEFT JOIN part_svc USING ( svcpart ) '. - 'LEFT JOIN cust_pkg USING ( pkgnum ) '. - 'LEFT JOIN cust_main USING ( custnum ) ', + 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '. + ' LEFT JOIN part_svc USING ( svcpart ) '. + ' LEFT JOIN cust_pkg USING ( pkgnum ) '. + ' LEFT JOIN cust_main USING ( custnum ) ', }; my $link = [ "${p}view/svc_acct.cgi?", 'svcnum' ]; diff --git a/httemplate/search/svc_forward.cgi b/httemplate/search/svc_forward.cgi index 330c0ee83..a204e345f 100755 --- a/httemplate/search/svc_forward.cgi +++ b/httemplate/search/svc_forward.cgi @@ -4,14 +4,30 @@ my $conf = new FS::Conf; my($query)=$cgi->keywords; $query ||= ''; #to avoid use of unitialized value errors + + my $orderby; + +my $cjoin = ''; +my @extra_sql = (); +if ( $query =~ /^UN_(.*)$/ ) { + $query = $1; + $cjoin = 'LEFT JOIN cust_svc USING ( svcnum )'; + push @extra_sql, 'pkgnum IS NULL'; +} + if ( $query eq 'svcnum' ) { $orderby = 'ORDER BY svcnum'; } else { eidiot('unimplemented'); } -my $count_query = 'SELECT COUNT(*) FROM svc_forward'; +my $extra_sql = + scalar(@extra_sql) + ? ' WHERE '. join(' AND ', @extra_sql ) + : ''; + +my $count_query = "SELECT COUNT(*) FROM svc_forward $cjoin $extra_sql"; my $sql_query = { 'table' => 'svc_forward', 'hashref' => {}, @@ -20,10 +36,11 @@ my $sql_query = { 'cust_main.custnum', FS::UI::Web::cust_sql_fields(), ), - 'extra_sql' => $orderby, - 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum )'. - 'LEFT JOIN cust_pkg USING ( pkgnum )'. - 'LEFT JOIN cust_main USING ( custnum )', + 'extra_sql' => "$extra_sql $orderby", + 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '. + ' LEFT JOIN part_svc USING ( svcpart ) '. + ' LEFT JOIN cust_pkg USING ( pkgnum ) '. + ' LEFT JOIN cust_main USING ( custnum ) ', }; # Service #
(click to view forward) -- 2.11.0