maintain freeradius nas table, RT#14697
[freeside.git] / httemplate / search / elements / search-html.html
index 37178dc..d1f4b2f 100644 (file)
@@ -1,4 +1,3 @@
-%
 %   if ( exists($opt{'redirect'}) && $opt{'redirect'}
 %        && scalar(@$rows) == 1 && $total == 1
 %        && $type ne 'html-print'
 %       }
 %     }
 %
-%     if ( $type eq 'html-print' ) {
-
-        <% include( '/elements/header-popup.html', $opt{'title'} ) %>
-
-%     } elsif ( $type eq 'select' ) {
-
-        <% include( '/elements/header-popup.html', $opt{'title'} ) %>
-        <% defined($opt{'html_init'}) 
-              ? ( ref($opt{'html_init'})
-                    ? &{$opt{'html_init'}}()
-                    : $opt{'html_init'}
-                )
-              : ''
-        %>
-
-%     } else {
+%     unless ( $opt{nohtmlheader} ) {
 %
-%       my @menubar = ();
-%       if ( $opt{'menubar'} ) {
-%         @menubar = @{ $opt{'menubar'} };
-%       #} else {
-%       #  @menubar = ( 'Main menu' => $p );
+%       if ( $type eq 'html-print' ) {
+          <& /elements/header-popup.html, $opt{'title'} &>
+%       } else {
+%         if ( $type eq 'select' ) {
+            <&/elements/header-popup.html, $opt{'title'} &>
+%         } else {
+%
+%           my @menubar = ();
+%           if ( $opt{'menubar'} ) {
+%             @menubar = @{ $opt{'menubar'} };
+%           #} else {
+%           #  @menubar = ( 'Main menu' => $p );
+%           }
+
+            <& /elements/header.html, $opt{'title'},
+                 include( '/elements/menubar.html', @menubar )
+            &>
+
+%         }
 %       }
+%
+%     }
+%
+%     unless ( $type eq 'html-print' ) {
 
-        <% include( '/elements/header.html', $opt{'title'},
-                      include( '/elements/menubar.html', @menubar )
-                  )
-        %>
+%       if ( $opt{'add_link'} ) { #or after html_init?
+          <A HREF="<%$p%>edit/<% $opt{query}->{table} %>.html"><I>Add a <% $opt{'name_singular'} %></I></A><BR><BR>
+%       }
 
         <% defined($opt{'html_init'}) 
               ? ( ref($opt{'html_init'})
@@ -71,7 +72,7 @@
 
 %     unless ( $total ) { 
 %       unless ( $opt{'disable_nonefound'} ) { 
-          No matching <% $opt{'name'} %> found.<BR>
+          <BR><BR>No matching <% $opt{'name'} %> found.<BR>
 %       } 
 %     }
 %
@@ -95,7 +96,7 @@
 %                 $cgi->delete('maxrecords');
 %                 $cgi->param('_dummy', 1);
 
-                  ( show <SELECT NAME="maxrecords" onChange="window.location = '<% $cgi->self_url %>;maxrecords=' + this.options[this.selectedIndex].value;">
+                  ( show <SELECT NAME="maxrecords" onChange="window.location = '<% "$self_url?". $cgi->query_string %>;maxrecords=' + this.options[this.selectedIndex].value;">
 
 %                   foreach my $max ( map { $_ * $confmax } qw( 1 5 10 25 ) ) {
                   <OPTION VALUE="<% $max %>" <% ( $maxrecords == $max ) ? 'SELECTED' : '' %>><% $max %></OPTION>
                 Download full results<BR>
 
 %               $cgi->param('_type', "$xlsname.xls" ); 
-                as <A HREF="<% $cgi->self_url %>">Excel spreadsheet</A><BR>
+                as <A HREF="<% "$self_url?". $cgi->query_string %>">Excel spreadsheet</A><BR>
 
 %               $cgi->param('_type', 'csv'); 
-                as <A HREF="<% $cgi->self_url %>">CSV file</A><BR>
+                as <A HREF="<% "$self_url?". $cgi->query_string %>">CSV file</A><BR>
+
+%             if ( defined($opt{xml_elements}) ) {
+%               $cgi->param('_type', 'xml'); 
+                as <A HREF="<% "$self_url?". $cgi->query_string %>">XML file</A><BR>
+%             }
 
 %               $cgi->param('_type', 'html-print'); 
-                as <A HREF="<% $cgi->self_url %>">printable copy</A>
+                as <A HREF="<% "$self_url?". $cgi->query_string %>">printable copy</A>
 
               </TD>
 %             $cgi->param('_type', "html" ); 
                 <TR>
 %                 my $h2 = 0;
 %                 my $colspan = 0;
+%                 my @fields = @{ $opt{'sort_fields'} || $opt{'fields'} || [] };
+%                 my $order_by = $cgi->param('order_by');
 %                 foreach my $header ( @{ $opt{header} } ) { 
+%
+%                   my $field = shift @fields;
+%
 %                   $colspan-- if $colspan > 0;
 %                   next if $colspan;
 %
 %                   my $label = ref($header) ? $header->{label} : $header;
+%                   unless ( ref($field) || !$field ) {
+%                     if ( $order_by eq $field ) {
+%                       $cgi->param('order_by', "$field DESC");
+%                     } else {
+%                       $cgi->param('order_by', $field);
+%                     }
+%                     $label = qq(<A HREF="$self_url?). $cgi->query_string.
+%                              qq(">$label</A>);
+%                   }
+%
 %                   $colspan = ref($header) ? $header->{colspan} : 0;
 %                   my $rowspan = 1;
 %                   my $style = '';
 %     }
 
 %     if ( $type eq 'html-print' ) {
+%       unless ( $opt{nohtmlheader} ) {
 
         </BODY></HTML>
       
+%       }
 %     } else {
 
         <% defined($opt{'html_foot'}) 
               : ''
         %>
 
-        <% include( '/elements/footer.html' ) %>
+        <% $opt{nohtmlheader}
+             ? ''
+             : include( '/elements/footer.html' )
+        %>
 
 %     }
 
@@ -447,6 +473,7 @@ my $confmax        = $args{'confmax'};
 my $maxrecords     = $args{'maxrecords'};
 my $offset         = $args{'offset'};
 my %opt            = %{ $args{'opt'} };
+my $self_url       = $opt{'url'} || $cgi->url('-path_info' => 1, '-full' =>1);
 
 my $count_sth = dbh->prepare($opt{'count_query'})
   or die "Error preparing $opt{'count_query'}: ". dbh->errstr;