X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=tools%2Fshowdiffmarc.pl;h=488f39ef24e4cb98009fce7e54e879e6e76599fc;hb=3ebc081962247ce0c598da810451c459909842bc;hp=e0e0f7c15b6ca4f0607e4ae30bfa6f26001672e3;hpb=838412c0680b45065455c0aba30b480762864277;p=koha.git diff --git a/tools/showdiffmarc.pl b/tools/showdiffmarc.pl index e0e0f7c15b..488f39ef24 100755 --- a/tools/showdiffmarc.pl +++ b/tools/showdiffmarc.pl @@ -8,7 +8,7 @@ # # 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 option) any later +# Foundation; either version 3 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY @@ -19,8 +19,7 @@ # 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; +use Modern::Perl; # standard or CPAN modules used use CGI qw(:standard); @@ -40,60 +39,62 @@ use XML::LibXML; my $input = new CGI; my $biblionumber = $input->param('id'); my $importid = $input->param('importid'); +my $batchid = $input->param('batchid'); -if ( $biblionumber and $importid ) { - - # Init vars - my ($recordBiblionumber, $recordImportid, $biblioTitle, $importTitle, $formatted1, $formatted2, - $errorFormatted1, $errorFormatted2); - - - # Prepare template - my ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { - template_name => "tools/showdiffmarc.tt", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => { catalogue => 1 }, - debug => 1, - } - ); +if ( not $biblionumber or not $importid ) { + print $input->redirect("/cgi-bin/koha/errors/404.pl"); + exit; +} +# Init vars +my ($recordBiblionumber, $recordImportid, $biblioTitle, $importTitle, $formatted1, $formatted2, + $errorFormatted1, $errorFormatted2); - $recordBiblionumber =GetMarcBiblio($biblionumber); - if( $recordBiblionumber ) { - $formatted1 = $recordBiblionumber->as_formatted; - my $data = GetBiblioData($biblionumber); - $biblioTitle = $data->{title}; - } else { - $errorFormatted1 = 1; - } - my ($marc,$encoding) = GetImportRecordMarc($importid); - if( $marc ) { - $recordImportid = MARC::Record->new_from_usmarc($marc) ; - $formatted2 = $recordImportid->as_formatted; - my $biblio = GetImportBiblios($importid); - $importTitle = $biblio->[0]->{'title'}; - } else { - $errorFormatted2 = 1; +# Prepare template +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "tools/showdiffmarc.tt", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => { tools => 'manage_staged_marc' }, + debug => 1, } +); - $template->param( SCRIPT_NAME => $ENV{'SCRIPT_NAME'}, - BIBLIONUMBER => $biblionumber, - IMPORTID => $importid, - BIBLIOTITLE => $biblioTitle, - IMPORTTITLE => $importTitle, - MARC_FORMATTED1 => $formatted1, - MARC_FORMATTED2 => $formatted2, - ERROR_FORMATTED1 => $errorFormatted1, - ERROR_FORMATTED2 => $errorFormatted2 - ); +$recordBiblionumber = GetMarcBiblio($biblionumber, 'embed_items'); +if( $recordBiblionumber ) { + $formatted1 = $recordBiblionumber->as_formatted; + my $data = GetBiblioData($biblionumber); + $biblioTitle = $data->{title}; +} else { + $errorFormatted1 = 1; +} - output_html_with_http_headers $input, $cookie, $template->output; +if( $importid ) { + $recordImportid = C4::ImportBatch::GetRecordFromImportBiblio( $importid, 'embed_items' ); + $formatted2 = $recordImportid->as_formatted; + my $biblio = GetImportBiblios($importid); + $importTitle = $biblio->[0]->{'title'}; } else { - exit; + $errorFormatted2 = 1; } + + +$template->param( + SCRIPT_NAME => $ENV{'SCRIPT_NAME'}, + BIBLIONUMBER => $biblionumber, + IMPORTID => $importid, + BIBLIOTITLE => $biblioTitle, + IMPORTTITLE => $importTitle, + MARC_FORMATTED1 => $formatted1, + MARC_FORMATTED2 => $formatted2, + ERROR_FORMATTED1 => $errorFormatted1, + ERROR_FORMATTED2 => $errorFormatted2, + batchid => $batchid +); + +output_html_with_http_headers $input, $cookie, $template->output;