X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Faddorderiso2709.pl;h=8d9c0e3fc567f3b5c68e6306082380e9f703a234;hb=HEAD;hp=c46263a243e247c3cbb3a4a2d488d45643c9a20d;hpb=9573f444fcd6f56b2c9248d6bc8d52525a62d518;p=koha_gimpoz diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl index c46263a243..8d9c0e3fc5 100755 --- a/acqui/addorderiso2709.pl +++ b/acqui/addorderiso2709.pl @@ -24,6 +24,7 @@ use strict; use warnings; use CGI; +use Carp; use Number::Format qw(:all); use C4::Context; @@ -32,7 +33,7 @@ use C4::Input; use C4::Output; use C4::ImportBatch; use C4::Matcher; -use C4::Search qw/FindDuplicate BiblioAddAuthorities/; +use C4::Search qw/FindDuplicate/; use C4::Acquisition; use C4::Biblio; use C4::Items; @@ -40,7 +41,6 @@ use C4::Koha; use C4::Budgets; use C4::Acquisition; use C4::Bookseller qw/GetBookSellerFromId/; -use C4::Dates; use C4::Suggestions; # GetSuggestion use C4::Branch; # GetBranches use C4::Members; @@ -179,9 +179,10 @@ if ($op eq ""){ } } ( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $cgiparams->{'frameworkcode'} || '' ); + SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' ); # 2nd add authorities if applicable if (C4::Context->preference("BiblioAddsAuthorities")){ - my ($countlinked,$countcreated)=BiblioAddAuthorities($marcrecord, $cgiparams->{'frameworkcode'}); + my $headings_linked =BiblioAutoLink($marcrecord, $cgiparams->{'frameworkcode'}); } } else { SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' ); @@ -210,8 +211,20 @@ if ($op eq ""){ } 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; @@ -249,6 +262,8 @@ if ($op eq ""){ my ( $biblionumber, $bibitemnum, $itemnumber ) = AddItemFromMarc( $record, $biblionumber ); NewOrderItem( $itemnumber, $ordernumber ); } + } else { + SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' ); } } # go to basket page @@ -265,7 +280,7 @@ my $budget = GetBudget($budget_id); # 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; @@ -281,12 +296,12 @@ $template->param( budget_loop => $budget_loop,); my $CGIsort1; if ($budget) { # its a mod .. if ( defined $budget->{'sort1_authcat'} ) { # with custom Asort* planning values - $CGIsort1 = GetAuthvalueDropbox( 'sort1', $budget->{'sort1_authcat'}, $data->{'sort1'} ); + $CGIsort1 = GetAuthvalueDropbox( $budget->{'sort1_authcat'}, $data->{'sort1'} ); } } elsif ( scalar(@$budgets) ) { - $CGIsort1 = GetAuthvalueDropbox( 'sort1', @$budgets[0]->{'sort1_authcat'}, '' ); + $CGIsort1 = GetAuthvalueDropbox( @$budgets[0]->{'sort1_authcat'}, '' ); } else { - $CGIsort1 = GetAuthvalueDropbox( 'sort1', '', '' ); + $CGIsort1 = GetAuthvalueDropbox( '', '' ); } # if CGIsort is successfully fetched, the use it @@ -300,12 +315,12 @@ if ($CGIsort1) { my $CGIsort2; if ($budget) { if ( defined $budget->{'sort2_authcat'} ) { - $CGIsort2 = GetAuthvalueDropbox( 'sort2', $budget->{'sort2_authcat'}, $data->{'sort2'} ); + $CGIsort2 = GetAuthvalueDropbox( $budget->{'sort2_authcat'}, $data->{'sort2'} ); } } elsif ( scalar(@$budgets) ) { - $CGIsort2 = GetAuthvalueDropbox( 'sort2', @$budgets[0]->{sort2_authcat}, '' ); + $CGIsort2 = GetAuthvalueDropbox( @$budgets[0]->{sort2_authcat}, '' ); } else { - $CGIsort2 = GetAuthvalueDropbox( 'sort2', '', '' ); + $CGIsort2 = GetAuthvalueDropbox( '', '' ); } if ($CGIsort2) { @@ -324,15 +339,24 @@ sub import_batches_list { my @list = (); foreach my $batch (@$batches) { if ($batch->{'import_status'} eq "staged") { - push @list, { - import_batch_id => $batch->{'import_batch_id'}, - num_biblios => $batch->{'num_biblios'}, - num_items => $batch->{'num_items'}, - upload_timestamp => $batch->{'upload_timestamp'}, - import_status => $batch->{'import_status'}, - file_name => $batch->{'file_name'}, - comments => $batch->{'comments'}, - }; + # check if there is at least 1 line still staged + my $stagedList=GetImportBibliosRange($batch->{'import_batch_id'}, undef, undef, 'staged'); + if (scalar @$stagedList) { + my ($staged_date, $staged_hour) = split (/ /, $batch->{'upload_timestamp'}); + push @list, { + import_batch_id => $batch->{'import_batch_id'}, + num_biblios => $batch->{'num_biblios'}, + num_items => $batch->{'num_items'}, + staged_date => $staged_date, + staged_hour => $staged_hour, + import_status => $batch->{'import_status'}, + file_name => $batch->{'file_name'}, + comments => $batch->{'comments'}, + }; + } else { + # if there are no more line to includes, set the status to imported + SetImportBatchStatus( $batch->{'import_batch_id'}, 'imported' ); + } } } $template->param(batch_list => \@list);