diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2012-10-04 20:25:37 -0700 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2012-10-04 20:25:37 -0700 |
| commit | 0af38652da3b3be7da2d35b048285ef6f2194e1a (patch) | |
| tree | c43e871e406a11ad9ddca7f5af225f8e5e507000 /httemplate/search/elements | |
| parent | a8e1cb65cd92239721b8e81ef9fdf99f60fb3c3c (diff) | |
| parent | 51b5bd15c154065a9a0f521565bd6187609c8348 (diff) | |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'httemplate/search/elements')
| -rw-r--r-- | httemplate/search/elements/cust_pay_batch_top.html | 3 | ||||
| -rw-r--r-- | httemplate/search/elements/search-csv.html | 13 | ||||
| -rw-r--r-- | httemplate/search/elements/search-html.html | 12 | ||||
| -rw-r--r-- | httemplate/search/elements/search-xls.html | 15 | ||||
| -rw-r--r-- | httemplate/search/elements/search.html | 6 |
5 files changed, 43 insertions, 6 deletions
diff --git a/httemplate/search/elements/cust_pay_batch_top.html b/httemplate/search/elements/cust_pay_batch_top.html index 739e65b50..1dcc37ac1 100644 --- a/httemplate/search/elements/cust_pay_batch_top.html +++ b/httemplate/search/elements/cust_pay_batch_top.html @@ -33,6 +33,7 @@ Download batch in format <SELECT NAME="format"> 'action' => "${p}misc/upload-batch.cgi", 'num_files' => 1, 'fields' => [ 'batchnum', 'format', 'gatewaynum' ], + 'url' => $cgi->self_url, 'message' => 'Batch results uploaded.', ) %> Upload results<BR></TR> @@ -87,7 +88,7 @@ Batch is <% $statustext{$status} %><BR> <%def .select_gateway> % if ( $show_gateways ) { - or from gateway + or for gateway <& /elements/select-table.html, empty_label => ' ', field => 'gatewaynum', diff --git a/httemplate/search/elements/search-csv.html b/httemplate/search/elements/search-csv.html index 9eb1b66d1..90230e6dc 100644 --- a/httemplate/search/elements/search-csv.html +++ b/httemplate/search/elements/search-csv.html @@ -27,10 +27,21 @@ % $csv->combine(@$row); #or die $csv->status; % } % -% <% $csv->string %>\ % % } +% +% if ( $opt{'footer'} and !$opt{'no_csv_header'} ) { +% my @footer; +% foreach my $item (@{ $opt{'footer'} }) { +% if ( ref($item) eq 'CODE' ) { +% $item = &{$item}(); +% } +% push @footer, $item; +% } +% $csv->combine(@footer); +<% $csv->string %>\ +% } <%init> my %args = @_; diff --git a/httemplate/search/elements/search-html.html b/httemplate/search/elements/search-html.html index 53167c26e..d7e81282b 100644 --- a/httemplate/search/elements/search-html.html +++ b/httemplate/search/elements/search-html.html @@ -134,9 +134,9 @@ % and !$opt{'disable_download'} % and $type ne 'html-print' ) { - <TD ALIGN="right"> + <TD ALIGN="right" CLASS="noprint"> - Download full results<BR> + <% $opt{'download_label'} || 'Download full results' %><BR> % $cgi->param('_type', "$xlsname.xls" ); as <A HREF="<% "$self_url?". $cgi->query_string %>">Excel spreadsheet</A><BR> @@ -337,6 +337,11 @@ % map { % if ( ref($_) eq 'CODE' ) { % &{$_}($row); +% } elsif ( ref($row) eq 'ARRAY' and +% $_ =~ /^\d+$/ ) { +% # for the 'straight SQL' case: specify fields +% # by position +% $row->[$_]; % } else { % $row->$_(); % } @@ -345,7 +350,8 @@ % % ) { % -% my $class = ( $field =~ /^<TABLE/i ) ? 'inv' : 'grid'; +%# my $class = ( $field =~ /^<TABLE/i ) ? 'inv' : 'grid'; +% my $class = 'grid'; % % my $align = $aligns ? shift @$aligns : ''; % $align = " ALIGN=$align" if $align; diff --git a/httemplate/search/elements/search-xls.html b/httemplate/search/elements/search-xls.html index 09dbe46e0..94d88b096 100644 --- a/httemplate/search/elements/search-xls.html +++ b/httemplate/search/elements/search-xls.html @@ -55,6 +55,10 @@ my $writer = sub { # Wrapper for $worksheet->write. # Do any massaging of the value/format here. my ($r, $c, $value, $format) = @_; + # convert HTML entities + # both Spreadsheet::WriteExcel and Excel::Writer::XLSX accept UTF-8 strings + $value = decode_entities($value); + if ( $value =~ /^\Q$money_char\E(-?\d+\.?\d*)$/ ) { # Currency: strip the symbol, clone the requested format, # and format it for currency @@ -130,6 +134,17 @@ foreach my $row ( @$rows ) { } +if ( $opt{'footer'} ) { + $r++; + $c = 0; + foreach my $item (@{ $opt{'footer'} }) { + if ( ref($item) eq 'CODE' ) { + $item = &{$item}(); + } + $writer->( $r, $c++, $item, $header_format ); + } +} + $workbook->close();# or die "Error creating .xls file: $!"; http_header('Content-Length' => length($data) ); diff --git a/httemplate/search/elements/search.html b/httemplate/search/elements/search.html index 9bc66b6fa..eca68a2f8 100644 --- a/httemplate/search/elements/search.html +++ b/httemplate/search/elements/search.html @@ -162,7 +162,11 @@ Example: # Excel-specific listref of ( hashrefs or coderefs ) # each hashref: http://search.cpan.org/dist/Spreadsheet-WriteExcel/lib/Spreadsheet/WriteExcel.pm#Format_methods_and_Format_properties 'xls_format' => => [], - + + + # miscellany + 'download_label' => 'Download this report', + # defaults to 'Download full results' &> </%doc> |
