diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/showdiffmarc.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/showdiffmarc.tt
index 93edb3982b..49983acc01 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/showdiffmarc.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/showdiffmarc.tt
@@ -31,11 +31,11 @@
Original
[% IF ( ERROR_FORMATTED1 ) %]
-
The biblionumber [% BIBLIONUMBER %] doesn't match any existing record.
+
The record id [% RECORDID | html %] doesn't match any existing record.
[% ELSE %]
- [% BIBLIOTITLE %]
- [% MARC_FORMATTED1 %]
+ [% RECORDTITLE | html %]
+ [% MARC_FORMATTED1 | html %]
[% END %]
diff --git a/tools/batch_records_ajax.pl b/tools/batch_records_ajax.pl
index 349d858a25..17e8236d32 100755
--- a/tools/batch_records_ajax.pl
+++ b/tools/batch_records_ajax.pl
@@ -107,7 +107,7 @@ foreach my $record (@$records) {
|| q{},
score => $#$match > -1 ? $match->[0]->{'score'} : 0,
match_id => $match_id,
- diff_url => $match_id ? "/cgi-bin/koha/tools/showdiffmarc.pl?batchid=$import_batch_id&importid=$record->{import_record_id}&id=$match_id" : undef
+ diff_url => $match_id ? "/cgi-bin/koha/tools/showdiffmarc.pl?batchid=$import_batch_id&importid=$record->{import_record_id}&id=$match_id&type=$record->{record_type}" : undef
};
}
diff --git a/tools/showdiffmarc.pl b/tools/showdiffmarc.pl
index 0c585a443d..f8219aa3b6 100755
--- a/tools/showdiffmarc.pl
+++ b/tools/showdiffmarc.pl
@@ -29,23 +29,25 @@ use C4::Context;
use C4::Output;
use C4::Auth;
use C4::Biblio;
+use C4::AuthoritiesMarc;
use C4::ImportBatch;
use Koha::Biblios;
# Input params
my $input = new CGI;
-my $biblionumber = $input->param('id');
+my $recordid = $input->param('id');
my $importid = $input->param('importid');
my $batchid = $input->param('batchid');
+my $type = $input->param('type');
-if ( not $biblionumber or not $importid ) {
+if ( not $recordid or not $importid ) {
print $input->redirect("/cgi-bin/koha/errors/404.pl");
exit;
}
# Init vars
-my ($recordBiblionumber, $recordImportid, $biblioTitle, $importTitle, $formatted1, $formatted2, $errorFormatted1, $errorFormatted2);
+my ($record, $recordImportid, $recordTitle, $importTitle, $formatted1, $formatted2, $errorFormatted1, $errorFormatted2);
# Prepare template
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
@@ -59,14 +61,20 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
}
);
-$recordBiblionumber = GetMarcBiblio({
- biblionumber => $biblionumber,
- embed_items => 1,
-});
-if( $recordBiblionumber ) {
- $formatted1 = $recordBiblionumber->as_formatted;
- my $biblio = Koha::Biblios->find( $biblionumber );
- $biblioTitle = $biblio->title;
+if ( $type eq 'biblio' ) {
+ $record = GetMarcBiblio({
+ biblionumber => $recordid,
+ embed_items => 1,
+ });
+ my $biblio = Koha::Biblios->find( $recordid );
+ $recordTitle = $biblio->title;
+}
+elsif ( $type eq 'auth' ) {
+ $record = GetAuthority( $recordid );
+ $recordTitle = "Authority number " . $recordid; #FIXME we should get the main heading
+}
+if( $record ) {
+ $formatted1 = $record->as_formatted;
} else {
$errorFormatted1 = 1;
}
@@ -82,9 +90,9 @@ if( $importid ) {
$template->param(
SCRIPT_NAME => '/cgi-bin/koha/tools/showdiffmarc.pl',
- BIBLIONUMBER => $biblionumber,
+ RECORDID => $recordid,
IMPORTID => $importid,
- BIBLIOTITLE => $biblioTitle,
+ RECORDTITLE => $recordTitle,
IMPORTTITLE => $importTitle,
MARC_FORMATTED1 => $formatted1,
MARC_FORMATTED2 => $formatted2,