X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Felements%2Fsearch.html;h=053da4787e05f0e8d74476af4e2ebd583f80b2a9;hb=3f36e519d061f6ca0102ba7887e9fee9b1bda874;hp=68c488837936b1ea1399e8b80ed9ff38655494c6;hpb=b70b0d8c6f571a68ffb60c5ca728a230926abee4;p=freeside.git diff --git a/httemplate/search/elements/search.html b/httemplate/search/elements/search.html index 68c488837..053da4787 100644 --- a/httemplate/search/elements/search.html +++ b/httemplate/search/elements/search.html @@ -307,9 +307,11 @@ if ( $opt{'disableable'} ) { $opt{'query'}{'hashref'}{'disabled'} = ''; $opt{'query'}{'extra_sql'} =~ s/^\s*WHERE/ AND/i; + my $table = $opt{'query'}{'table'}; + $opt{'count_query'} .= ( $opt{'count_query'} =~ /WHERE/i ? ' AND ' : ' WHERE ' ). - "( disabled = '' OR disabled IS NULL )"; + "( $table.disabled = '' OR $table.disabled IS NULL )"; } elsif ( $opt{'disabled_statuspos'} || $opt{'disabled_statuspos'} eq '0' ) { #add status column @@ -353,19 +355,13 @@ if ( $opt{'disableable'} ) { my $limit = ''; my($confmax, $maxrecords, $offset ); -unless ( $type =~ /^(csv|\w*.xls)$/) { +unless ( $type =~ /^(csv|xml|\w*.xls)$/) { # html mode unless (exists($opt{count_query}) && length($opt{count_query})) { ( $opt{count_query} = $opt{query} ) =~ s/^\s*SELECT\s*(.*?)\s+FROM\s/SELECT COUNT(*) FROM /i; #silly vim:/ } - if ( $opt{disableable} && ! $cgi->param('showdisabled') ) { - $opt{count_query} .= - ( ( $opt{count_query} =~ /WHERE/i ) ? ' AND ' : ' WHERE ' ). - "( disabled = '' OR disabled IS NULL )"; - } - unless ( $type eq 'html-print' ) { #setup some pagination things if we're in html mode @@ -390,10 +386,7 @@ unless ( $type =~ /^(csv|\w*.xls)$/) { } #order by override -my $order_by = ''; -#if ( $cgi->param('order_by') =~ /^([\w\, ]+)$/ ) { -# $order_by = $1; -#} +my $order_by = $opt{order_by} || ''; $order_by = $cgi->param('order_by') if $cgi->param('order_by'); # run the query @@ -419,6 +412,8 @@ if ( ref($opt{query}) ) { } } + $opt{query}->{'order_by'} .= " $limit"; + } elsif (ref($opt{query}) eq 'ARRAY') { @query = @{ $opt{query} }; } else { @@ -438,7 +433,7 @@ if ( ref($opt{query}) ) { } @query ], - 'order_by' => $opt{order_by}. " ". $limit, + #'order_by' => $opt{order_by}. " ". $limit, ) ]; } else { @@ -453,4 +448,6 @@ if ( ref($opt{query}) ) { $header ||= $sth->{NAME}; } +push @$rows, $opt{'footer_data'} if $opt{'footer_data'}; +