use strict;
use warnings;
use CGI;
+use Carp;
use Number::Format qw(:all);
use C4::Context;
}
if ($price){
$orderinfo{'listprice'} = $price;
- eval "use C4::Acquisition qw/GetBasket/;";
- eval "use C4::Bookseller qw/GetBookSellerFromId/;";
+ eval {
+ require C4::Acquisition;
+ import C4::Acquisition qw/GetBasket/;
+ };
+ if ($@){
+ croak $@;
+ }
+ eval {
+ require C4::Bookseller;
+ import C4::Bookseller qw/GetBookSellerFromId/;
+ };
+ if ($@){
+ croak $@;
+ }
my $basket = GetBasket( $orderinfo{basketno} );
my $bookseller = GetBookSellerFromId( $basket->{booksellerid} );
my $gst = $bookseller->{gstrate} || C4::Context->preference("gist") || 0;
# build budget list
my $budget_loop = [];
-my $budgets = GetBudgetHierarchy( q{}, $borrower->{branchcode}, $borrower->{borrowernumber} );
+$budgets = GetBudgetHierarchy( q{}, $borrower->{branchcode}, $borrower->{borrowernumber} );
foreach my $r ( @{$budgets} ) {
if ( !defined $r->{budget_amount} || $r->{budget_amount} == 0 ) {
next;
use strict;
use warnings;
+use Carp;
use C4::Input;
use C4::Auth;
my ($basketgroupid) = @_;
my $pdfformat = C4::Context->preference("OrderPdfFormat");
- eval "use $pdfformat";
- # FIXME consider what would happen if $pdfformat does not
- # contain the name of a valid Perl module.
+ if ($pdfformat eq 'pdfformat::layout3pages' || $pdfformat eq 'pdfformat::layout2pages'){
+ eval {
+ require $pdfformat;
+ import $pdfformat;
+ };
+ if ($@){
+ }
+ }
+ 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;
+ }
my $basketgroup = GetBasketgroup($basketgroupid);
my $bookseller = GetBookSellerFromId($basketgroup->{'booksellerid'});
#isbn, itemtype, author, title, publishercode, quantity, listprice ecost discount gstrate
my @ba_order;
if ( $ord->{biblionumber} && $ord->{quantity}> 0 ) {
- eval "use C4::Biblio";
- eval "use C4::Koha";
+ eval {
+ require C4::Biblio;
+ import C4::Biblio;
+ };
+ if ($@){
+ croak $@;
+ }
+ eval {
+ require C4::Koha;
+ import C4::Koha;
+ };
+ if ($@){
+ croak $@;
+ }
my $bib = GetBiblioData($ord->{biblionumber});
my $itemtypes = GetItemTypes();
if($ord->{isbn}){
);
my $pdf = printpdf($basketgroup, $bookseller, $baskets, \%orders, $bookseller->{gstrate} // C4::Context->preference("gist")) || die "pdf generation failed";
print $pdf;
+
}
my $op = $input->param('op');
$template->param(items => \@itemloop);
}
# Get the item types list, but only if item_level_itype is YES. Otherwise, it will be in the item, no need to display it in the biblio
-my @itemtypes = C4::ItemType->all unless C4::Context->preference('item-level_itypes');
+my @itemtypes;
+@itemtypes = C4::ItemType->all unless C4::Context->preference('item-level_itypes');
# fill template
$template->param(
use C4::Output;
-sub AuthorizedValuesForCategory ($) {
+sub AuthorizedValuesForCategory {
my ($searchstring) = shift or return;
my $dbh = C4::Context->dbh;
$searchstring=~ s/\'/\\\'/g;
my %tab_files = _get_pref_files( $input );
our @terms = split( /\s+/, $searchfield );
- sub matches {
- my ( $text ) = @_;
-
- return !grep( { $text !~ /$_/i } @terms );
- }
-
foreach my $tab_name ( keys %tab_files ) {
my $data = GetTab( $input, $tab_name );
my $title = ( keys( %$data ) )[0];
my $matched_groups;
while ( my ( $group_title, $contents ) = each %$tab ) {
- if ( matches( $group_title ) ) {
+ if ( matches( $group_title, \@terms ) ) {
$matched_groups->{$group_title} = $contents;
next;
}
my ( undef, $LINES ) = TransformPrefsToHTML( $data, $searchfield );
return { search_jumped => 1, tab => $tab_name, tab_title => $title, LINES => $LINES };
- } elsif ( matches( $piece->{'pref'} ) ) {
+ } elsif ( matches( $piece->{'pref'}, \@terms) ) {
$matched = 1;
- } elsif ( ref( $piece->{'choices'} ) eq 'HASH' && grep( { $_ && matches( $_ ) } values( %{ $piece->{'choices'} } ) ) ) {
+ } elsif ( ref( $piece->{'choices'} ) eq 'HASH' && grep( { $_ && matches( $_, \@terms ) } values( %{ $piece->{'choices'} } ) ) ) {
$matched = 1;
}
- } elsif ( matches( $piece ) ) {
+ } elsif ( matches( $piece, \@terms ) ) {
$matched = 1;
}
last if ( $matched );
return @tabs;
}
+sub matches {
+ my ( $text, $terms ) = @_;
+ return !grep( { $text !~ /$_/i } @$terms );
+}
+
my $dbh = C4::Context->dbh;
our $input = new CGI;
labels members misc offline_circ opac patroncards reports reserve reviews rotating_collections
serials sms suggestion t tags test tools virtualshelves);
-my @dirs = qw( basket circ debian errors offline_circ reserve reviews rotating_collections
+my @dirs = qw( acqui admin basket circ debian errors offline_circ reserve reviews rotating_collections
serials sms virtualshelves );
if ( not $ENV{TEST_QA} ) {