use strict;
use warnings;
use CGI;
+use Carp;
use Number::Format qw(:all);
use C4::Context;
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;
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;
}
}
( $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' );
"notes", $cgiparams->{'notes'}, "budget_id", $cgiparams->{'budget_id'},
"currency",$cgiparams->{'currency'},
);
- # get the price if there is one.
- # filter by storing only the 1st number
- # we suppose the currency is correct, as we have no possibilities to get it.
- my $price= GetMarcPrice($marcrecord, C4::Context->preference('marcflavour'));
- if ($price){
- $price = $num->unformat_number($price);
- }
+
+ my $price = GetMarcPrice($marcrecord, C4::Context->preference('marcflavour'));
+
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;
my ( $biblionumber, $bibitemnum, $itemnumber ) = AddItemFromMarc( $record, $biblionumber );
NewOrderItem( $itemnumber, $ordernumber );
}
+ } else {
+ SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' );
}
}
# go to basket page
# 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;
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
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) {
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);