X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=tools%2Fstage-marc-import.pl;h=0de73d46ec1adae2da13d14d1fc5b53eed4ac03a;hb=58b85e1df11c49f8d211efaf4232793842c57fce;hp=b926da643d3aad2c6c0594028abc70e0cc3eb0cf;hpb=fc6ccb1a616c96e8cddf57efd2195a0bec7bc976;p=koha.git diff --git a/tools/stage-marc-import.pl b/tools/stage-marc-import.pl index b926da643d..0de73d46ec 100755 --- a/tools/stage-marc-import.pl +++ b/tools/stage-marc-import.pl @@ -3,7 +3,7 @@ # Script for handling import of MARC data into Koha db # and Z39.50 lookups -# Koha library project www.koha.org +# Koha library project www.koha-community.org # Licensed under the GPL @@ -13,18 +13,19 @@ # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your op) any later +# Foundation; either version 2 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +#use warnings; FIXME - Bug 2505 # standard or CPAN modules used use CGI; @@ -34,7 +35,6 @@ use MARC::File::USMARC; # Koha modules used use C4::Context; use C4::Auth; -use C4::Input; use C4::Output; use C4::Biblio; use C4::ImportBatch; @@ -50,9 +50,12 @@ my $fileID=$input->param('uploadedfileid'); my $runinbackground = $input->param('runinbackground'); my $completedJobID = $input->param('completedJobID'); my $matcher_id = $input->param('matcher'); +my $overlay_action = $input->param('overlay_action'); +my $nomatch_action = $input->param('nomatch_action'); my $parse_items = $input->param('parse_items'); +my $item_action = $input->param('item_action'); my $comments = $input->param('comments'); -my $syntax = $input->param('syntax'); +my $encoding = $input->param('encoding'); my ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "tools/stage-marc-import.tmpl", query => $input, @@ -105,7 +108,7 @@ if ($completedJobID) { my $reply = CGI->new(""); print $reply->header(-type => 'text/html'); - print "{ jobID: '$jobID' }"; + print '{"jobID":"' . $jobID . '"}'; exit 0; } elsif (defined $pid) { # child @@ -127,10 +130,10 @@ if ($completedJobID) { } # FIXME branch code - my ($batch_id, $num_valid, $num_items, @import_errors) = BatchStageMarcRecords($syntax, $marcrecord, $filename, - $comments, '', $parse_items, 0, - 50, staging_progress_callback($job, $dbh)); + my ($batch_id, $num_valid, $num_items, @import_errors) = BatchStageMarcRecords($encoding, $marcrecord, $filename, $comments, '', $parse_items, 0, 50, staging_progress_callback($job, $dbh)); + $dbh->commit(); + my $num_with_matches = 0; my $checked_matches = 0; my $matcher_failed = 0; @@ -140,8 +143,12 @@ if ($completedJobID) { if (defined $matcher) { $checked_matches = 1; $matcher_code = $matcher->code(); - $num_with_matches = BatchFindBibDuplicates($batch_id, $matcher, 10, 50, matching_progress_callback($job, $dbh)); + $num_with_matches = BatchFindBibDuplicates($batch_id, $matcher, + 10, 50, matching_progress_callback($job, $dbh)); SetImportBatchMatcher($batch_id, $matcher_id); + SetImportBatchOverlayAction($batch_id, $overlay_action); + SetImportBatchNoMatchAction($batch_id, $nomatch_action); + SetImportBatchItemAction($batch_id, $item_action); $dbh->commit(); } else { $matcher_failed = 1; @@ -176,6 +183,9 @@ if ($completedJobID) { } else { # initial form + if (C4::Context->preference("marcflavour") eq "UNIMARC") { + $template->param("UNIMARC" => 1); + } my @matchers = C4::Matcher::GetMatcherList(); $template->param(available_matchers => \@matchers); }