use C4::Auth;
use C4::Output;
use CGI qw ( -utf8 );
+use File::Spec;
-use C4::Acquisition qw/CloseBasketgroup ReOpenBasketgroup GetOrders GetBasketsByBasketgroup GetBasketsByBookseller ModBasketgroup NewBasketgroup DelBasketgroup GetBasketgroups ModBasket GetBasketgroup GetBasket GetBasketGroupAsCSV/;
+use C4::Acquisition qw/CloseBasketgroup ReOpenBasketgroup GetOrders GetBasketsByBasketgroup GetBasketsByBookseller ModBasketgroup NewBasketgroup DelBasketgroup GetBasketgroups ModBasket GetBasketgroup GetBasket GetBasketGroupAsCSV get_rounded_price/;
use Koha::EDI qw/create_edi_order get_edifact_ean/;
use Koha::Biblioitems;
for my $order (@orders){
# FIXME The following is wrong
if ( $bookseller->listincgst ) {
- $total = $total + ( $order->{ecost_tax_included} * $order->{quantity} );
+ $total = $total + ( get_rounded_price($order->{ecost_tax_included}) * $order->{quantity} );
} else {
- $total = $total + ( $order->{ecost_tax_excluded} * $order->{quantity} );
+ $total = $total + ( get_rounded_price($order->{ecost_tax_excluded}) * $order->{quantity} );
}
}
return $total;
sub printbasketgrouppdf{
my ($basketgroupid) = @_;
-
+
my $pdfformat = C4::Context->preference("OrderPdfFormat");
- if ($pdfformat eq 'pdfformat::layout3pages' || $pdfformat eq 'pdfformat::layout2pages' || $pdfformat eq 'pdfformat::layout3pagesfr'
- || $pdfformat eq 'pdfformat::layout2pagesde'){
- eval {
- eval "require $pdfformat";
- import $pdfformat;
- };
- if ($@){
- }
+ my @valid_pdfformats = qw(pdfformat::layout3pages pdfformat::layout2pages pdfformat::layout3pagesfr pdfformat::layout2pagesde pdfformat::ffzg);
+ if (grep {$_ eq $pdfformat} @valid_pdfformats) {
+ $pdfformat = "Koha::$pdfformat";
+ my $pdfformat_filepath = File::Spec->catfile(split /::/, $pdfformat) . '.pm';
+ require $pdfformat_filepath;
+ import $pdfformat qw(printpdf);
}
else {
- print $input->header;
- print $input->start_html; # FIXME Should do a nicer page
- print "<h1>Invalid PDF Format set</h1>";
- print "Please go to the systempreferences and set a valid pdfformat";
- exit;
+ print $input->header;
+ print $input->start_html; # FIXME Should do a nicer page
+ print "<h1>Invalid PDF Format set</h1>";
+ print "Please go to the systempreferences and set a valid pdfformat";
+ exit;
}
-
+
my $basketgroup = GetBasketgroup($basketgroupid);
my $bookseller = Koha::Acquisition::Booksellers->find( $basketgroup->{booksellerid} );
my $baskets = GetBasketsByBasketgroup($basketgroupid);
-
+
my %orders;
for my $basket (@$baskets) {
my @ba_orders;
$ord->{tax_value} = $ord->{tax_value_on_ordering};
$ord->{tax_rate} = $ord->{tax_rate_on_ordering};
- $ord->{total_tax_included} = $ord->{ecost_tax_included} * $ord->{quantity};
- $ord->{total_tax_excluded} = $ord->{ecost_tax_excluded} * $ord->{quantity};
+ $ord->{total_tax_included} = get_rounded_price($ord->{ecost_tax_included}) * $ord->{quantity};
+ $ord->{total_tax_excluded} = get_rounded_price($ord->{ecost_tax_excluded}) * $ord->{quantity};
my $biblioitem = Koha::Biblioitems->search({ biblionumber => $ord->{biblionumber} })->next;