Bug 7298: (follow-up) make CSV strings translatables.
authorJonathan Druart <jonathan.druart@biblibre.com>
Tue, 13 Aug 2013 14:21:33 +0000 (16:21 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Thu, 31 Oct 2013 15:50:58 +0000 (15:50 +0000)
Using a template file, the CSV headers become translatable.

Signed-off-by: sonia <koha@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
acqui/lateorders-export.pl
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/csv/lateorders.tt [new file with mode: 0644]

index ef159c8..f363dab 100755 (executable)
 
 use Modern::Perl;
 use CGI;
+
 use C4::Auth;
-use C4::Serials;
 use C4::Acquisition;
 use C4::Output;
 use C4::Context;
 
-use Text::CSV::Encoded;
-use open qw/ :std :utf8 /;
-
-my $csv = Text::CSV::Encoded->new ({
-        encoding    => undef,
-        quote_char  => '"',
-        escape_char => '"',
-        sep_char    => ',',
-        binary      => 1,
-    });
-
-my $query        = new CGI;
-my @ordernumbers = $query->param('ordernumber');
-
-print $query->header(
-    -type       => 'text/csv',
-    -attachment => "lateorders.csv",
-);
-
-print "LATE ORDERS\n\n";
-print "ORDER DATE,ESTIMATED DELIVERY DATE,VENDOR,INFORMATION,TOTAL COST,BASKET,CLAIMS COUNT,CLAIMED DATE\n";
+my $input = new CGI;
+my ($template, $loggedinuser, $cookie) = get_template_and_user({
+    template_name => "acqui/csv/lateorders.tt",
+    query => $input,
+    type => "intranet",
+    authnotrequired => 0,
+    flagsrequired => {acquisition => 'order_receive'},
+});
+my @ordernumbers = $input->param('ordernumber');
 
+my @orders;
 for my $ordernumber ( @ordernumbers ) {
     my $order = GetOrder $ordernumber;
-    $csv->combine(
-        $order->{orderdate} . " (" . $order->{latesince} . " days)",
-        $order->{estimateddeliverydate},
-        $order->{supplier} . " (" . $order->{supplierid} . ") ",
-        $order->{title} . ( $order->{author} ? " Author: $order->{author}" : "" ) . ( $order->{publisher} ? " Published by: $order->{publisher}" : "" ),
-        $order->{unitpricesupplier} . "x" . $order->{quantity_to_receive} . " = " . $order->{subtotal} . " (" . $order->{budget} . ")",
-        $order->{basketname} . " (" . $order->{basketno} . ")",
-        $order->{claims_count},
-        $order->{claimed_date}
-    );
-    my $string = $csv->string;
-    print $string, "\n";
+    push @orders, {
+            orderdate => $order->{orderdate},
+            latesince => $order->{latesince},
+            estimateddeliverydate => $order->{estimateddeliverydate},
+            supplier => $order->{supplier},
+            supplierid => $order->{supplierid},
+            title => $order->{title},
+            author => $order->{author},
+            publisher => $order->{publisher},
+            unitpricesupplier => $order->{unitpricesupplier},
+            quantity_to_receive => $order->{quantity_to_receive},
+            subtotal => $order->{subtotal},
+            budget => $order->{budget},
+            basketname => $order->{basketname},
+            basketno => $order->{basketno},
+            claims_count => $order->{claims_count},
+            claimed_date => $order->{claimed_date},
+        }
+    ;
 }
 
-print ",,Total Number Late, " . scalar @ordernumbers . "\n";
+print $input->header(
+    -type       => 'text/csv',
+    -attachment => 'lateorders.csv',
+);
+$template->param( orders => \@orders );
+print $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/csv/lateorders.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/csv/lateorders.tt
new file mode 100644 (file)
index 0000000..f66ce67
--- /dev/null
@@ -0,0 +1,8 @@
+[% USE KohaDates %]
+LATE ORDERS
+ORDER DATE,ESTIMATED DELIVERY DATE,VENDOR,INFORMATION,TOTAL COST,BASKET,CLAIMS COUNT,CLAIMED DATE
+
+[% FOREACH o IN orders %]"[% o.orderdate %] ([% o.latesince %] days)","[% o.estimateddeliverydate | $KohaDates %]","[% o.supplier (o.supplierid) %]","[% o.title %] [% IF o.author %]Author: [% o.author %].[% END %][% IF o.publisher %]Published by: [% o.publisher %].[% END %]","[% o.unitpricesupplier %] x [% o.quantity_to_receive %] = [% o.subtotal %] ([% o.budget %])","[% o.basketname %] ([% o.basketno %])","[% o.claims_count %]","[% o.claimed_date %]"
+[% END %]
+
+,,Total orders in late, [% orders.size %]