Bugzilla – Attachment 137792 Details for
Bug 27045
Exports using CSV profiles with tab as separator don't work correctly
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27045: Fix items lost report export if delimiter is tab
Bug-27045-Fix-items-lost-report-export-if-delimite.patch (text/plain), 2.71 KB, created by
Katrin Fischer
on 2022-07-16 11:25:14 UTC
(
hide
)
Description:
Bug 27045: Fix items lost report export if delimiter is tab
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2022-07-16 11:25:14 UTC
Size:
2.71 KB
patch
obsolete
>From 60a8bd3e3325fa6ac05e316cb7b9a2a4036ea21d Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Fri, 20 Nov 2020 15:33:02 +0100 >Subject: [PATCH] Bug 27045: Fix items lost report export if delimiter is tab > >When choosing tabulation as the delimiter for a CSV profile >for the lost item report, the tabs appear in the file as \t >instead of as proper tabs. > >title\tauthor\tstocknumber\tcallnumber >"E Street shuffle :"\"Heylin, Clinton."\\ > >To test: >* Upate the existing sample lost item CSV profile to use tabs as > separator >* Make sure you have some lost items in your database or create some >* Go to Reports > Lost items >* Run the report >* Check all or some of the checkboxes in the result list >* Export using the link on top and the CSV profile >* Verify the tabs are not exported correctly >* Apply patch >* Verify tabs now are proper tabs instead of \t > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > reports/itemslost.pl | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > >diff --git a/reports/itemslost.pl b/reports/itemslost.pl >index 901ff5a8d9..f9d633251d 100755 >--- a/reports/itemslost.pl >+++ b/reports/itemslost.pl >@@ -31,7 +31,7 @@ use CGI qw ( -utf8 ); > use Text::CSV_XS; > use C4::Auth qw( get_template_and_user ); > use C4::Output qw( output_html_with_http_headers ); >- >+use Text::CSV::Encoded; > use Koha::AuthorisedValues; > use Koha::CsvProfiles; > >@@ -60,7 +60,6 @@ if ( $op eq 'export' ) { > my $csv_profile = Koha::CsvProfiles->find( $csv_profile_id ); > die "There is no valid csv profile given" unless $csv_profile; > >- my $csv = Text::CSV_XS->new({'quote_char'=>'"','escape_char'=>'"','sep_char'=>$csv_profile->csv_separator,'binary'=>1}); > my $csv_profile_content = $csv_profile->content; > my ( @headers, @fields ); > while ( $csv_profile_content =~ / >@@ -89,11 +88,16 @@ if ( $op eq 'export' ) { > } > push @rows, \@row; > } >- my $content = join( $csv_profile->csv_separator, @headers ) . "\n"; >+ my $delimiter = $csv_profile->csv_separator; >+ $delimiter = "\t" if $delimiter eq "\\t"; >+ >+ my $csv = Text::CSV::Encoded->new({ encoding_out => 'UTF-8', sep_char => $delimiter}); >+ $csv or die "Text::CSV::Encoded->new({binary => 1}) FAILED: " . Text::CSV::Encoded->error_diag(); >+ $csv->combine(@headers); >+ my $content .= Encode::decode('UTF-8', $csv->string()) . "\n"; > for my $row ( @rows ) { > $csv->combine(@$row); >- my $string = $csv->string; >- $content .= $string . "\n"; >+ $content .= $csv->string . "\n"; > } > print $query->header( > -type => 'text/csv', >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 27045
:
113890
|
113891
|
137790
|
137791
|
137792
|
137793
|
137794
|
137933
|
137934
|
137935