Lines 135-141
if ($op eq ""){
Link Here
|
135 |
|
135 |
|
136 |
# retrieve the file you want to import |
136 |
# retrieve the file you want to import |
137 |
my $import_batch_id = $cgiparams->{'import_batch_id'}; |
137 |
my $import_batch_id = $cgiparams->{'import_batch_id'}; |
138 |
my $biblios = GetImportRecordsRange($import_batch_id); |
138 |
my $import_records = Koha::Import::Records->search({ |
|
|
139 |
import_batch_id => $import_batch_id, |
140 |
}); |
139 |
my $duplinbatch; |
141 |
my $duplinbatch; |
140 |
my $imported = 0; |
142 |
my $imported = 0; |
141 |
my @import_record_id_selected = $input->multi_param("import_record_id"); |
143 |
my @import_record_id_selected = $input->multi_param("import_record_id"); |
Lines 149-162
if ($op eq ""){
Link Here
|
149 |
my $matcher_id = $input->param('matcher_id'); |
151 |
my $matcher_id = $input->param('matcher_id'); |
150 |
my $active_currency = Koha::Acquisition::Currencies->get_active; |
152 |
my $active_currency = Koha::Acquisition::Currencies->get_active; |
151 |
my $biblio_count = 0; |
153 |
my $biblio_count = 0; |
152 |
for my $biblio (@$biblios){ |
154 |
while( my $import_record = $import_records->next ){ |
153 |
$biblio_count++; |
155 |
$biblio_count++; |
154 |
my $duplifound = 0; |
156 |
my $duplifound = 0; |
155 |
# Check if this import_record_id was selected |
157 |
# Check if this import_record_id was selected |
156 |
next if not grep { $_ eq $$biblio{import_record_id} } @import_record_id_selected; |
158 |
next if not grep { $_ eq $import_record->import_record_id } @import_record_id_selected; |
157 |
my ( $marcblob, $encoding ) = GetImportRecordMarc( $biblio->{'import_record_id'} ); |
159 |
my $marcrecord = $import_record->get_marc_record || die "couldn't translate marc information"; |
158 |
my $marcrecord = MARC::Record->new_from_usmarc($marcblob) || die "couldn't translate marc information"; |
160 |
my $match = GetImportRecordMatches( $import_record->import_record_id, 1 ); |
159 |
my $match = GetImportRecordMatches( $biblio->{'import_record_id'}, 1 ); |
|
|
160 |
my $biblionumber=$#$match > -1?$match->[0]->{'biblionumber'}:0; |
161 |
my $biblionumber=$#$match > -1?$match->[0]->{'biblionumber'}:0; |
161 |
my $c_quantity = shift( @quantities ) || GetMarcQuantity($marcrecord, C4::Context->preference('marcflavour') ) || 1; |
162 |
my $c_quantity = shift( @quantities ) || GetMarcQuantity($marcrecord, C4::Context->preference('marcflavour') ) || 1; |
162 |
my $c_budget_id = shift( @budgets_id ) || $input->param('all_budget_id') || $budget_id; |
163 |
my $c_budget_id = shift( @budgets_id ) || $input->param('all_budget_id') || $budget_id; |
Lines 196-207
if ($op eq ""){
Link Here
|
196 |
} |
197 |
} |
197 |
} |
198 |
} |
198 |
( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $cgiparams->{'frameworkcode'} || '' ); |
199 |
( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $cgiparams->{'frameworkcode'} || '' ); |
199 |
SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' ); |
200 |
$import_record->status('imported')->store; |
200 |
} else { |
201 |
} else { |
201 |
SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' ); |
202 |
$import_record->status('imported')->store; |
202 |
} |
203 |
} |
203 |
|
204 |
|
204 |
SetMatchedBiblionumber( $biblio->{import_record_id}, $biblionumber ); |
205 |
$import_record->import_biblio->matched_biblionumber($biblionumber)->store; |
205 |
|
206 |
|
206 |
# Add items from MarcItemFieldsToOrder |
207 |
# Add items from MarcItemFieldsToOrder |
207 |
my @homebranches = $input->multi_param('homebranch_' . $biblio_count); |
208 |
my @homebranches = $input->multi_param('homebranch_' . $biblio_count); |
Lines 358-364
if ($op eq ""){
Link Here
|
358 |
$order->add_item( $itemnumber ); |
359 |
$order->add_item( $itemnumber ); |
359 |
} |
360 |
} |
360 |
} else { |
361 |
} else { |
361 |
SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' ); |
362 |
$import_record->status( 'imported' )->store; |
362 |
} |
363 |
} |
363 |
} |
364 |
} |
364 |
$imported++; |
365 |
$imported++; |
Lines 366-373
if ($op eq ""){
Link Here
|
366 |
|
367 |
|
367 |
# If all bibliographic records from the batch have been imported we modifying the status of the batch accordingly |
368 |
# If all bibliographic records from the batch have been imported we modifying the status of the batch accordingly |
368 |
SetImportBatchStatus( $import_batch_id, 'imported' ) |
369 |
SetImportBatchStatus( $import_batch_id, 'imported' ) |
369 |
if @{ GetImportRecordsRange( $import_batch_id, undef, undef, 'imported' )} |
370 |
if Koha::Import::Records->search({import_batch_id => $import_batch_id, status => 'imported' })->count |
370 |
== @{ GetImportRecordsRange( $import_batch_id )}; |
371 |
== Koha::Import::Records->search({import_batch_id => $import_batch_id})->count; |
371 |
|
372 |
|
372 |
# go to basket page |
373 |
# go to basket page |
373 |
if ( $imported ) { |
374 |
if ( $imported ) { |
374 |
- |
|
|