[Koha-patches] [PATCH] Bug 5065 Add ability to choose framework on import
Frédéric Demians
f.demians at tamil.fr
Fri Mar 18 19:10:02 CET 2011
---
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(){
<input type="hidden" name="runinbackground" value="" />
<input type="hidden" name="completedJobID" value="" />
<input type="hidden" name="import_batch_id" value="<!-- TMPL_VAR name="import_batch_id" -->" />
- <fieldset class="action"><input type="submit" class="button" name="mainformsubmit" value="Import this batch into the catalog" onclick="return submitBackgroundJob(this.form);" /></fieldset>
+ <fieldset class="action">
+ <input type="submit" class="button" name="mainformsubmit" value="Import this batch into the catalog" onclick="return submitBackgroundJob(this.form);" />
+ <br/>
+ Add new bibliographic records into this framework:
+ <select name="framework" id="frameworks">
+ <option value="">Default</option>
+ <!-- TMPL_LOOP NAME="frameworks" -->
+ <option value="<!-- TMPL_VAR NAME="value"-->" <!-- TMPL_VAR NAME="selected" -->>
+ <!-- TMPL_VAR NAME="label" -->
+ </option>
+ <!-- /TMPL_LOOP -->
+ </select>
+ </fieldset>
</form>
<div id="jobpanel"><div id="jobstatus">Job progress: <div id="jobprogress"></div> <span id="jobprogresspercent">0</span>%</div>
<div id="jobfailed"></div></div>
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
More information about the Koha-patches
mailing list