X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Felements%2Fsearch-html.html;h=5c8001fad59770a7fd4b2d6387aa768166ac163c;hb=e7a9ba25d437b6a145a6260594c27f9dc0ac0495;hp=60dd65a5c9d1653fa2fd5343929c77f58470549d;hpb=b9ec1f7c51efb5122b7dc88ccadb34e9e99a3b6f;p=freeside.git diff --git a/httemplate/search/elements/search-html.html b/httemplate/search/elements/search-html.html index 60dd65a5c..5c8001fad 100644 --- a/httemplate/search/elements/search-html.html +++ b/httemplate/search/elements/search-html.html @@ -1,5 +1,5 @@ -% -% if ( exists($opt{'redirect'}) && scalar(@$rows) == 1 && $total == 1 +% if ( exists($opt{'redirect'}) && $opt{'redirect'} +% && scalar(@$rows) == 1 && $total == 1 % && $type ne 'html-print' % ) { % my $redirect = $opt{'redirect'}; @@ -29,34 +29,36 @@ % } % } % -% 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? + Add a <% $opt{'name_singular'} %>

+% } <% defined($opt{'html_init'}) ? ( ref($opt{'html_init'}) @@ -70,7 +72,7 @@ % unless ( $total ) { % unless ( $opt{'disable_nonefound'} ) { - No matching <% $opt{'name'} %> found.
+

No matching <% $opt{'name'} %> found.
% } % } % @@ -94,7 +96,7 @@ % $cgi->delete('maxrecords'); % $cgi->param('_dummy', 1); - ( show query_string %>;maxrecords=' + this.options[this.selectedIndex].value;"> % foreach my $max ( map { $_ * $confmax } qw( 1 5 10 25 ) ) { @@ -128,25 +130,27 @@ -% unless ( $opt{'disable_download'} || $type eq 'html-print' ) { +% if ( $curuser->access_right('Download report data') +% and !$opt{'disable_download'} +% and $type ne 'html-print' ) { - + - Download full results
+ <% $opt{'download_label'} || 'Download full results' %>
% $cgi->param('_type', "$xlsname.xls" ); - as Excel spreadsheet
+ as query_string %>">Excel spreadsheet
% $cgi->param('_type', 'csv'); - as CSV file
+ as query_string %>">CSV file
-% $cgi->param('_type', 'html-print'); - as printable copy +% if ( defined($opt{xml_elements}) ) { +% $cgi->param('_type', 'xml'); + as query_string %>">XML file
+% } - <% $opt{'extra_choices_callback'} - ? &{$opt{'extra_choices_callback'}}($cgi->query_string) - : '' - %> +% $cgi->param('_type', 'html-print'); + as query_string %>">printable copy % $cgi->param('_type', "html" ); @@ -181,8 +185,28 @@ % 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($label); +% } +% +% $colspan = ref($header) ? $header->{colspan} : 0; % my $rowspan = 1; % my $style = ''; % if ( $opt{header2} ) { @@ -197,6 +221,7 @@ <% $style %> > @@ -273,6 +298,11 @@ % ? '' % : '' % ). +% ( $e->{'onclick'} # don't use with 'link' +% ? '' +% : '' +% ). % ( $e->{'size'} % ? '' % : '' @@ -287,7 +317,9 @@ % : '' % ). % ( $e->{'size'} ? '' : '' ). -% ( $e->{'link'} ? '' : '' ). +% ( $e->{'link'} || $e->{'onclick'} +% ? '' +% : '' ). % ''; % % } @$rowref ). @@ -305,15 +337,21 @@ % map { % if ( ref($_) eq 'CODE' ) { % &{$_}($row); +% } elsif ( ref($row) eq 'ARRAY' and +% $_ =~ /^\d+$/ ) { +% # for the 'straight SQL' case: specify fields +% # by position +% encode_entities($row->[$_]); % } else { -% $row->$_(); +% encode_entities($row->$_()); % } % } % @{$opt{'fields'}} % % ) { % -% my $class = ( $field =~ /^); % } -% +% elsif ( $onclick ) { +% $a = qq(); +% } % } % % } @@ -391,11 +431,12 @@ % } -% if ( $opt{'footer'} ) { +% if ( $opt{'footer'} ) { % foreach my $footer ( @{ $opt{'footer'} } ) { +% $footer = &{$footer}() if ref($footer) eq 'CODE'; % } @@ -412,9 +453,11 @@ % } % if ( $type eq 'html-print' ) { +% unless ( $opt{nohtmlheader} ) { +% } % } else { <% defined($opt{'html_foot'}) @@ -425,13 +468,18 @@ : '' %> - <% include( '/elements/footer.html' ) %> + <% $opt{nohtmlheader} + ? '' + : include( '/elements/footer.html' ) + %> % } % } <%init> +my $curuser = $FS::CurrentUser::CurrentUser; + my %args = @_; my $type = $args{'type'}; my $header = $args{'header'}; @@ -442,6 +490,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;
<% $footer %>