diff options
author | ivan <ivan> | 2005-07-14 11:31:35 +0000 |
---|---|---|
committer | ivan <ivan> | 2005-07-14 11:31:35 +0000 |
commit | 49d7852b0a4f44ada7bf704ebdaaa856a9e828a3 (patch) | |
tree | 8e07202c1348b575612bf3452101f395456b2c97 /httemplate/search/svc_forward.cgi | |
parent | 541d9682ea6f43e78b59dbf2f2aa282843117360 (diff) |
add unlinked mail forward (svc_forward) report
Diffstat (limited to 'httemplate/search/svc_forward.cgi')
-rwxr-xr-x | httemplate/search/svc_forward.cgi | 27 |
1 files changed, 22 insertions, 5 deletions
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 ) ', }; # <TH>Service #<BR><FONT SIZE=-1>(click to view forward)</FONT></TH> |