Bug 21579: Make showdiffmarc.pl work for authorities and biblios
To test: 1 - Have or make some authority records 2 - Have or make an authority matching rule 3 - Export your authrotities 4 - Import them using the matching rule 5 - On the 'Manage staged records' page view some diffs 6 - The import record is correct, but the existing records pull form bibs 7 - Apply patch 8 - Repeat 9 - Confirm you see the expected authority matches Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Marjorie Vila <marjorie.barry-vila@collecto.ca> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
parent
4e6d9defc1
commit
7f0207d2ad
|
|
@ -26,10 +26,10 @@
|
|||
<h1>Original</h1>
|
||||
[% IF ( ERROR_FORMATTED1 ) %]
|
||||
<div class="dialog alert">
|
||||
<p>The biblionumber <em>[% BIBLIONUMBER | html %]</em> doesn't match any existing record.</p>
|
||||
<p>The record id <em>[% RECORDID | html %]</em> doesn't match any existing record.</p>
|
||||
</div>
|
||||
[% ELSE %]
|
||||
<h2>[% BIBLIOTITLE | html %]</h2>
|
||||
<h2>[% RECORDTITLE | html %]</h2>
|
||||
<pre>[% MARC_FORMATTED1 | html %]</pre>
|
||||
[% END %]
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue