From de0ff8caeb14f836f46da97594726974aa57d34e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 20 Nov 2020 15:33:14 +0100 Subject: [PATCH] Bug 27045: Fix other exports using CSV profiles This patch corrects the export of the 2 other reports using CSV profiles: * Late issues (serials) * Basket (acquisitions) To test: 1) Late issues * Update the late issues sample report to use tab as separator * Create a subscription * Go to serial collection and 'generate next' to get some late issues * Go to Claims * Export the late issues and verify format is correct * Verify exported file has tabs 2) Basket summary * Create an order with several order lines * Create an SQL type CSV profile for basket export using tab as separator Example: aqorders.quantity|aqordres.listprice|Title=biblio.title * Export the basket using your configured CSV profile * Verify exported file has tabs Signed-off-by: Katrin Fischer Signed-off-by: Nick Clemens Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 7cd84171ab57a35138fa5c585d2ed6de442e453c) Signed-off-by: Lucas Gass (cherry picked from commit 9af01ea2e3c6735420431cd41a97e29a28167165) Signed-off-by: Arthur Suzuki (cherry picked from commit cdfecb6fb771c872b6ebb528ef2e99b9c69283b7) Signed-off-by: Victor Grousset/tuxayo --- C4/Acquisition.pm | 4 +++- serials/lateissues-export.pl | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index ada432ac1f..8411e46847 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -279,7 +279,9 @@ sub GetBasketAsCSV { my $csv_profile = Koha::CsvProfiles->find( $csv_profile_id ); Koha::Exceptions::ObjectNotFound->throw( '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 $delimiter = $csv_profile->csv_separator; + $delimiter = "\t" if $delimiter eq "\\t"; + my $csv = Text::CSV_XS->new({'quote_char'=>'"','escape_char'=>'"','sep_char'=>$delimiter,'binary'=>1}); my $csv_profile_content = $csv_profile->content; my ( @headers, @fields ); while ( $csv_profile_content =~ / diff --git a/serials/lateissues-export.pl b/serials/lateissues-export.pl index 7af3395d1b..676909a15b 100755 --- a/serials/lateissues-export.pl +++ b/serials/lateissues-export.pl @@ -36,10 +36,13 @@ my $csv_profile_id = $query->param('csv_profile'); my $csv_profile = Koha::CsvProfiles->find( $csv_profile_id ); die "There is no valid csv profile given" unless $csv_profile; +my $delimiter = $csv_profile->csv_separator; +$delimiter = "\t" if $delimiter eq "\\t"; + my $csv = Text::CSV_XS->new({ 'quote_char' => '"', 'escape_char' => '"', - 'sep_char' => $csv_profile->csv_separator, + 'sep_char' => $delimiter, 'binary' => 1 }); -- 2.39.5