Bug 15358: Fix authorities merge
Bug 8064 (Merge several biblio records) change some code used in both biblios and authorities merge tool without updating the authorities merge tool. This patch fixes that. Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This commit is contained in:
parent
6d24219976
commit
5ef5fb5617
|
|
@ -1403,8 +1403,10 @@ sub merge {
|
|||
my ($mergefrom,$MARCfrom,$mergeto,$MARCto) = @_;
|
||||
my ($counteditedbiblio,$countunmodifiedbiblio,$counterrors)=(0,0,0);
|
||||
my $dbh=C4::Context->dbh;
|
||||
my $authtypefrom = Koha::Authority::Types->find($mergefrom);
|
||||
my $authtypeto = Koha::Authority::Types->find($mergeto);
|
||||
my $authfrom = Koha::Authorities->find($mergefrom);
|
||||
my $authto = Koha::Authorities->find($mergeto);
|
||||
my $authtypefrom = Koha::Authority::Types->find($authfrom->authtypecode);
|
||||
my $authtypeto = Koha::Authority::Types->find($authto->authtypecode);
|
||||
|
||||
return "error MARCFROM not a marcrecord ".Data::Dumper::Dumper($MARCfrom) if scalar($MARCfrom->fields()) == 0;
|
||||
return "error MARCTO not a marcrecord".Data::Dumper::Dumper($MARCto) if scalar($MARCto->fields()) == 0;
|
||||
|
|
|
|||
|
|
@ -133,15 +133,27 @@ else {
|
|||
|
||||
# Creating a loop for display
|
||||
|
||||
my @record1 = $recordObj1->createMergeHash($tagslib);
|
||||
my @record2 = $recordObj2->createMergeHash($tagslib);
|
||||
my @records = (
|
||||
{
|
||||
recordid => $mergereference,
|
||||
record => $recordObj1->record,
|
||||
frameworkcode => $recordObj1->authtypecode,
|
||||
display => $recordObj1->createMergeHash($tagslib),
|
||||
reference => 1,
|
||||
},
|
||||
{
|
||||
recordid => $notreference,
|
||||
record => $recordObj2->record,
|
||||
frameworkcode => $recordObj2->authtypecode,
|
||||
display => $recordObj2->createMergeHash($tagslib),
|
||||
},
|
||||
);
|
||||
|
||||
# Parameters
|
||||
$template->param(
|
||||
recordid1 => $mergereference,
|
||||
recordid2 => $notreference,
|
||||
record1 => @record1,
|
||||
record2 => @record2,
|
||||
records => \@records,
|
||||
framework => $framework,
|
||||
);
|
||||
}
|
||||
|
|
@ -169,8 +181,6 @@ else {
|
|||
frameworkselect => \@frameworkselect,
|
||||
frameworkcode1 => $recordObj1->authtypecode,
|
||||
frameworkcode2 => $recordObj2->authtypecode,
|
||||
frameworklabel1 => $recordObj1->authtypetext,
|
||||
frameworklabel2 => $recordObj2->authtypetext,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ if ($merge) {
|
|||
my $frameworkcode = GetFrameworkCode($biblionumber);
|
||||
my $recordObj = new Koha::MetadataRecord({'record' => $marcrecord, schema => $marcflavour});
|
||||
my $record = {
|
||||
biblionumber => $biblionumber,
|
||||
recordid => $biblionumber,
|
||||
record => $marcrecord,
|
||||
frameworkcode => $frameworkcode,
|
||||
display => $recordObj->createMergeHash($tagslib),
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
[% BLOCK sourcetab %]
|
||||
<div id="tabrecord[% record.biblionumber %]">
|
||||
<div id="tabrecord[% record.recordid %]">
|
||||
<div class="record">
|
||||
<ul id="ulrecord[% record.biblionumber %]">
|
||||
<ul id="ulrecord[% record.recordid %]">
|
||||
[% FOREACH field IN record.display %]
|
||||
[% IF field.tag != biblionumbertag %]
|
||||
<li id="k[% field.key %]">
|
||||
[% IF (tabrecord.reference) %]
|
||||
<input type="checkbox" checked="checked" class="fieldpick" id="rec_[% record.biblionumber %]_[% field.key %]" />
|
||||
<input type="checkbox" checked="checked" class="fieldpick" id="rec_[% record.recordid %]_[% field.key %]" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox" class="fieldpick" id="rec_[% record.biblionumber %]_[% field.key %]" />
|
||||
<input type="checkbox" class="fieldpick" id="rec_[% record.recordid %]_[% field.key %]" />
|
||||
[% END %]
|
||||
<label for="rec_[% record.biblionumber %]_[% field.key %]"><span class="field">[% field.tag %]</span></label>
|
||||
<label for="rec_[% record.recordid %]_[% field.key %]"><span class="field">[% field.tag %]</span></label>
|
||||
|
||||
<input type="hidden" name="tag_[% field.tag %]_indicator1_[% field.key %]" value="[% field.indicator1 %]" />
|
||||
<input type="hidden" name="tag_[% field.tag %]_indicator2_[% field.key %]" value="[% field.indicator2 %]" />
|
||||
|
|
@ -25,11 +25,11 @@
|
|||
[% FOREACH subfield IN field.subfield %]
|
||||
<li id="k[% subfield.subkey %]">
|
||||
[% IF (tabrecord.reference) %]
|
||||
<input type="checkbox" checked="checked" class="subfieldpick" id="rec_[% record.biblionumber %]_[% subfield.subkey %]" />
|
||||
<input type="checkbox" checked="checked" class="subfieldpick" id="rec_[% record.recordid %]_[% subfield.subkey %]" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox" class="subfieldpick" id="rec_[% record.biblionumber %]_[% subfield.subkey %]" />
|
||||
<input type="checkbox" class="subfieldpick" id="rec_[% record.recordid %]_[% subfield.subkey %]" />
|
||||
[% END %]
|
||||
<label for="rec_[% record.biblionumber %]_[% subfield.subkey %]"><span class="subfield">[% subfield.subtag %]</span> / [% subfield.value %]</label>
|
||||
<label for="rec_[% record.recordid %]_[% subfield.subkey %]"><span class="subfield">[% subfield.subtag %]</span> / [% subfield.value %]</label>
|
||||
<input type="hidden" name="tag_[% field.tag %]_code_[% subfield.subtag %]_[% field.key %]_[% subfield.subkey %]" value="[% subfield.subtag %]" />
|
||||
<input type="hidden" name="tag_[% field.tag %]_subfield_[% subfield.subtag %]_[% subfield.key %]_[% subfield.subkey %]" value="[% subfield.value %]" />
|
||||
</li>
|
||||
|
|
@ -50,8 +50,8 @@
|
|||
<ul>
|
||||
[% FOREACH record IN sourcerecords %]
|
||||
<li>
|
||||
<a href="#tabrecord[% record.biblionumber %]">
|
||||
[% record.biblionumber %]
|
||||
<a href="#tabrecord[% record.recordid %]">
|
||||
[% record.recordid %]
|
||||
[% IF record.reference %](ref)[% END %]
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -15,15 +15,15 @@ div#result { margin-top: 1em; }
|
|||
|
||||
// When submiting the form
|
||||
function mergeformsubmit() {
|
||||
$("ul#ulrecord1").remove();
|
||||
$("ul#ulrecord2").remove();
|
||||
}
|
||||
$('#tabs').remove();
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
// Getting marc structure via ajax
|
||||
tagslib = [];
|
||||
$.getJSON("/cgi-bin/koha/authorities/merge_ajax.pl", {frameworkcode : "[% framework %]" }, function(json) {
|
||||
tagslib = json;
|
||||
rebuild_target($("#tabs"), $("#resultul"));
|
||||
});
|
||||
|
||||
$('.preview-merge-reference').click(function (ev) {
|
||||
|
|
@ -129,7 +129,7 @@ function changeFramework(fw) {
|
|||
|
||||
<div class="yui-g">
|
||||
<div class="yui-u first">
|
||||
[% PROCESS mergesource %]
|
||||
[% PROCESS mergesource sourcerecords=records %]
|
||||
</div>
|
||||
<div class="yui-u">
|
||||
[% PROCESS mergetarget %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue