@@ -, +, @@
---
catalogue/showdiffmarc.pl | 99 ++++++++++++++++++++
.../prog/en/modules/catalogue/showdiffmarc.tt | 50 ++++++++++
2 files changed, 149 insertions(+)
create mode 100755 catalogue/showdiffmarc.pl
create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/showdiffmarc.tt
--- a/catalogue/showdiffmarc.pl
+++ a/catalogue/showdiffmarc.pl
@@ -0,0 +1,99 @@
+#!/usr/bin/perl
+
+# Koha library project www.koha-community.org
+
+# Copyright 2011 Libéo
+#
+# This file is part of Koha.
+#
+# 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
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+# standard or CPAN modules used
+use CGI qw(:standard);
+use DBI;
+
+# Koha modules used
+use C4::Context;
+use C4::Output;
+use C4::Auth;
+use C4::Biblio;
+use C4::ImportBatch;
+use XML::LibXSLT;
+use XML::LibXML;
+
+
+# Input params
+my $input = new CGI;
+my $biblionumber = $input->param('id');
+my $importid = $input->param('importid');
+
+
+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 => "catalogue/showdiffmarc.tt",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { catalogue => 1 },
+ debug => 1,
+ }
+ );
+
+
+ $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;
+ }
+
+
+ $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
+ );
+
+ output_html_with_http_headers $input, $cookie, $template->output;
+} else {
+ exit;
+}
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/showdiffmarc.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/showdiffmarc.tt
@@ -0,0 +1,50 @@
+[% INCLUDE 'doc-head-open.inc' %]
+
Koha -- Cataloging: MARC Import
+
+
+
+[% INCLUDE 'doc-head-close.inc' %]
+
+
+
+
+
+
+
Original
+ [% IF ( ERROR_FORMATTED1 ) %]
+
The biblionumber [% BIBLIONUMBER %] doesn't match to any record.
+ [% ELSE %]
+
[% BIBLIOTITLE %]
+
[% MARC_FORMATTED1 %]
+ [% END %]
+
+
+
Imported
+ [% IF ( ERROR_FORMATTED2 ) %]
+
The importid [% IMPORTID %] doesn't match to any record.
+ [% ELSE %]
+
[% IMPORTTITLE %]
+
[% MARC_FORMATTED2 %]
+ [% END %]
+
+
+
+[% INCLUDE 'intranet-bottom.inc' %]
--