From 0462b5efd6fda86bd2e61be57828ea86591c26c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Fri, 18 Mar 2011 19:06:50 +0100 Subject: [PATCH] Bug 5065 Add ability to choose framework on import --- C4/ImportBatch.pm | 5 +++-- .../prog/en/modules/tools/manage-marc-import.tmpl | 14 +++++++++++++- misc/commit_biblios_file.pl | 2 +- .../KohaTest/ImportBatch/BatchStageCommitRevert.pm | 2 +- tools/manage-marc-import.pl | 18 +++++++++++++++--- 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index f5b42a9..145e5d9 100644 --- a/C4/ImportBatch.pm +++ b/C4/ImportBatch.pm @@ -389,13 +389,14 @@ sub BatchFindBibDuplicates { =head2 BatchCommitBibRecords my ($num_added, $num_updated, $num_items_added, $num_items_errored, - $num_ignored) = BatchCommitBibRecords($batch_id, + $num_ignored) = BatchCommitBibRecords($batch_id, $framework, $progress_interval, $progress_callback); =cut sub BatchCommitBibRecords { my $batch_id = shift; + my $framework = shift; # optional callback to monitor status # of job @@ -451,7 +452,7 @@ sub BatchCommitBibRecords { if ($bib_result eq 'create_new') { $num_added++; - my ($biblionumber, $biblioitemnumber) = AddBiblio($marc_record, ''); + my ($biblionumber, $biblioitemnumber) = AddBiblio($marc_record, $framework); my $sth = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = ? WHERE import_record_id = ?"); $sth->execute($biblionumber, $rowref->{'import_record_id'}); $sth->finish(); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tmpl index f0bd761..46b7d71 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tmpl @@ -150,7 +150,19 @@ $(document).ready(function(){ " /> -
+
+ +
+ Add new bibliographic records into this framework: + +
Job progress:
0%
diff --git a/misc/commit_biblios_file.pl b/misc/commit_biblios_file.pl index 5e3010e..b4be670 100755 --- a/misc/commit_biblios_file.pl +++ b/misc/commit_biblios_file.pl @@ -75,7 +75,7 @@ sub process_batch { print "... importing MARC records -- please wait\n"; my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) = - BatchCommitBibRecords($import_batch_id, 100, \&print_progress_and_commit); + BatchCommitBibRecords($import_batch_id, '', 100, \&print_progress_and_commit); print "... finished importing MARC records\n"; print <<_SUMMARY_; diff --git a/t/db_dependent/lib/KohaTest/ImportBatch/BatchStageCommitRevert.pm b/t/db_dependent/lib/KohaTest/ImportBatch/BatchStageCommitRevert.pm index 94f8115..e03ee1f 100644 --- a/t/db_dependent/lib/KohaTest/ImportBatch/BatchStageCommitRevert.pm +++ b/t/db_dependent/lib/KohaTest/ImportBatch/BatchStageCommitRevert.pm @@ -237,7 +237,7 @@ sub stage_commit_batches : Test( 75 ) { } my ($num_added, $num_updated, $num_items_added, - $num_items_errored, $num_ignored) = BatchCommitBibRecords($batch_id); + $num_items_errored, $num_ignored) = BatchCommitBibRecords($batch_id,''); cmp_ok($num_added, "==", $results->{'num_added'}, "$batch_key: added correct number of bibs"); cmp_ok($num_updated, "==", $results->{'num_updated'}, "$batch_key: updated correct number of bibs"); cmp_ok($num_items_added, "==", $results->{'num_items_added'}, "$batch_key: added correct number of items"); diff --git a/tools/manage-marc-import.pl b/tools/manage-marc-import.pl index e7ff78e..61c0965 100755 --- a/tools/manage-marc-import.pl +++ b/tools/manage-marc-import.pl @@ -27,6 +27,7 @@ use MARC::File::USMARC; # Koha modules used use C4::Context; +use C4::Koha; use C4::Auth; use C4::Output; use C4::Biblio; @@ -61,6 +62,16 @@ my %cookies = parse CGI::Cookie($cookie); my $sessionID = $cookies{'CGISESSID'}->value; my $dbh = C4::Context->dbh; +# Frameworks selection loop +{ + my $frameworks = getframeworks; + my $arrayref = []; + while ( my ($key, $value) = each %$frameworks ) { + push @$arrayref, { value => $key, label => $value->{frameworktext} }; + } + $template->param( frameworks => $arrayref ); +} + if ($op eq "create_labels") { #create a batch of labels, then lose $op & $import_batch_id so we get back to import batch list. my $label_batch_id = create_labelbatch_from_importbatch($import_batch_id); @@ -94,7 +105,8 @@ if ($op eq "") { if ($completedJobID) { add_saved_job_results_to_template($template, $completedJobID); } else { - commit_batch($template, $import_batch_id); + my $framework = $input->param('framework'); + commit_batch($template, $import_batch_id, $framework); } import_biblios_list($template, $import_batch_id, $offset, $results_per_page); } elsif ($op eq "revert-batch") { @@ -222,7 +234,7 @@ sub import_batches_list { } sub commit_batch { - my ($template, $import_batch_id) = @_; + my ($template, $import_batch_id, $framework) = @_; my $job = undef; $dbh->{AutoCommit} = 0; @@ -232,7 +244,7 @@ sub commit_batch { $callback = progress_callback($job, $dbh); } my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) = - BatchCommitBibRecords($import_batch_id, 50, $callback); + BatchCommitBibRecords($import_batch_id, $framework, 50, $callback); $dbh->commit(); my $results = { -- 1.7.4