display N most recent emails in customer view, #30164
[freeside.git] / httemplate / search / elements / search.html
index 68c4888..053da47 100644 (file)
@@ -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'};
+
 </%init>