1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
2 <title>Koha › Cataloging › Merging records</title>
3 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
4 <style type="text/css">
5 div.record ul, div.record li { float:none; display:block; }
6 div#result { margin-top: 1em; }
7 /* We use this style "against" the li ui-tabs-nav style automatically applied */
9 <script type="text/javascript">
12 // When submiting the form
13 function mergeformsubmit() {
14 $("ul#ulrecord1").remove();
15 $("ul#ulrecord2").remove();
19 $(document).ready(function(){
21 $("#tabs > ul").tabs();
23 // Getting marc structure via ajax
25 $.getJSON("/cgi-bin/koha/cataloguing/merge_ajax.pl", {frameworkcode : "<!-- TMPL_VAR name="framework" -->" }, function(json) {
30 // Toggle a field / subfield
31 function toggleField(pField) {
33 // Getting the key of the clicked checkbox
34 var ckid = $(pField).attr("id");
35 var tab = ckid.split('_');
36 var source = tab[1]; // From which record the click came from
38 var type = $(pField).attr("class");
40 // Getting field/subfield
43 if (type == "subfieldpick") {
45 field = $(pField).parent().parent().parent().find("span.field").text();
46 subfield = $(pField).parent().find("span.subfield").text();
49 field = $(pField).parent().find("span.field").text();
52 // If the field has just been checked
55 // We check for repeatability
56 var canbeadded = true;
57 if (type == "subfieldpick") {
59 var alreadyexists = 0;
60 if (tagslib[field] && tagslib[field][subfield]) {
61 repeatable = tagslib[field][subfield].repeatable; // Note : we can't use the dot notation here (tagslib.021) because the key is a number
62 // TODO : Checking for subfields
66 repeatable = tagslib[field].repeatable;
67 alreadyexists = $("#resultul span.field:contains(" + field + ")");
68 if (repeatable == 0 && alreadyexists.length != 0) {
73 // If the field is not repeatable, we check if it already exists in the result table
74 if (canbeadded == false) {
75 alert(_('The field is non-repeatable and already exists in the destination record. Therefore, you cannot add it.'));
79 // Cloning the field or subfield we picked
80 var clone = $(pField).parent().clone();
82 // Removing the checkboxes from it
83 $(clone).find("input.subfieldpick, input.fieldpick").each(function() {
88 // If we are a subfield
89 if (type == "subfieldpick") {
90 // then we need to find who is our parent field...
91 fieldkey = $(pField).parent().parent().parent().attr("id");
93 // Find where to add the subfield
95 // First, check if the field is not already in the destination record
96 if ($("#resultul li#" + fieldkey).length > 0) {
97 // If so, we add our field to it
98 $("#resultul li#" + fieldkey + " ul").append(clone);
100 // If not, we add the subfield to the first matching field
102 $("#resultul li span.field").each(function() {
103 if (where == 0 && $(this).text() == field) {
108 // If there is no matching field in the destination record
112 // We select the whole field and removing non-selected subfields, instead of...
115 alert(_('This subfield cannot be added: there is no ' + field + ' field in the destination record.'));
116 pField.checked = false;
119 $(where).nextAll("ul").append(clone);
129 // Find where to add the field
130 $("#resultul li span.field").each(function() {
131 if (where == 0 && $(this).text() > field) {
136 $(where).parent().before(clone);
141 // Else, we remove it from the results tab
142 $("ul#resultul li#k" + key).remove();
147 // When a field is checked / unchecked
148 $('input.fieldpick').click(function() {
150 // (un)check all subfields
151 var ischecked = this.checked;
152 $(this).parent().find("input.subfieldpick").each(function() {
153 this.checked = ischecked;
157 // When a field or subfield is checked / unchecked
158 $("input.subfieldpick").click(function() {
168 <!-- TMPL_INCLUDE NAME="header.inc" -->
169 <!-- TMPL_INCLUDE NAME="cataloging-search.inc" -->
170 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> › <!-- TMPL_IF NAME="biblionumber" -->Editing <em><!-- TMPL_VAR NAME="title" escape="html" --></em> (Record Number <!-- TMPL_VAR name="biblionumber" -->)<!-- TMPL_ELSE -->Add MARC Record<!-- /TMPL_IF --></div>
172 <div id="doc" class="yui-t7">
178 <h1>Merging records</h1>
179 <!-- TMPL_IF name="result" -->
180 <!-- TMPL_IF name="errors" -->
181 <!-- TMPL_LOOP name="errors" -->
182 <div class="dialog alert"><!-- TMPL_VAR name="error" -->.<br />Therefore, the record to be merged has not been deleted.</div>
186 <script type="text/javascript">window.location.href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblio1" -->"</script>
187 <p>The merging was successful. <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblio1" -->">Click here to see the merged record.</a></p>
192 <!-- TMPL_IF NAME="choosereference" -->
193 <p>Please choose which record will be the reference for the merge. The record chosen as reference will be kept, and the other will be deleted.</p>
194 <form id="mergeform" action="/cgi-bin/koha/cataloguing/merge.pl" method="post">
195 <fieldset class="rows">
196 <legend>Merge reference</legend>
198 <li class="radio"><input type="radio" value="<!-- TMPL_VAR NAME="biblio1" -->" checked="checked" id="mergereference1" name="mergereference" /><label for="mergereference1"><!-- TMPL_VAR NAME="title1" --> (<!-- TMPL_VAR NAME="biblio1" -->)</label></li>
199 <li class="radio"><input type="radio" value="<!-- TMPL_VAR NAME="biblio2" -->" id="mergereference2" name="mergereference" /><label for="mergereference2"><!-- TMPL_VAR NAME="title2" --> (<!-- TMPL_VAR NAME="biblio2" -->)</label></li>
201 <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="biblio1" -->" />
202 <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="biblio2" -->" />
203 <fieldset class="action"><input type="submit" value="Next" /></fieldset>
207 <!-- TMPL_IF name="errors" -->
208 <!-- TMPL_LOOP name="errors" -->
209 <div class="error"><!-- TMPL_VAR name="error" --></div>
212 <form id="mergeform" action="/cgi-bin/koha/cataloguing/merge.pl" method="post" onsubmit="return mergeformsubmit()">
215 <div class="yui-u first">
216 <div id="tabs" class="toptabs">
217 <h2>Source records</h2>
219 <li><a href="#tabrecord1"><!-- TMPL_VAR name="biblio1" --></a></li>
220 <li><a href="#tabrecord2"><!-- TMPL_VAR name="biblio2" --></a></li>
222 <div id="tabrecord1">
223 <!-- TMPL_IF name="record1" -->
227 <!-- TMPL_LOOP NAME="record1" -->
228 <!-- TMPL_LOOP NAME="field" -->
229 <li id="k<!-- TMPL_VAR name="key" -->">
230 <input type="checkbox" checked="checked" class="fieldpick" id="rec_1_<!-- TMPL_VAR name="key" -->" />
231 <span class="field"><!-- TMPL_VAR NAME="tag" --></span>
233 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_indicator1_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="indicator1" -->" />
234 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_indicator2_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="indicator2" -->" />
235 <!-- TMPL_IF NAME="value" --> / <!-- TMPL_VAR NAME="value" -->
236 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_code_00_<!-- TMPL_VAR NAME="key" -->" value="00" />
237 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_subfield_00_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="value" -->" />
240 <!-- TMPL_IF NAME="subfield" -->
242 <!-- TMPL_LOOP NAME="subfield" -->
243 <li id="k<!-- TMPL_VAR name="subkey" -->">
244 <input type="checkbox" checked="checked" class="subfieldpick" id="rec_1_<!-- TMPL_VAR name="subkey" -->" />
245 <span class="subfield"><!-- TMPL_VAR NAME="subtag" --></span> / <!-- TMPL_VAR NAME="value" -->
246 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_code_<!-- TMPL_VAR NAME="subtag" -->_<!-- TMPL_VAR NAME="key" -->_<!-- TMPL_VAR NAME="subkey" -->" value="<!-- TMPL_VAR NAME="subtag" -->" />
247 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_subfield_<!-- TMPL_VAR NAME="subtag" -->_<!-- TMPL_VAR NAME="key" -->_<!-- TMPL_VAR NAME="subkey" -->" value="<!-- TMPL_VAR NAME="value" -->" />
256 </div><!-- /div.record -->
258 </div><!-- /div#tabrecord1 -->
259 <div id="tabrecord2">
260 <!-- TMPL_IF name="record2" -->
264 <!-- TMPL_LOOP NAME="record2" -->
265 <!-- TMPL_LOOP NAME="field" -->
266 <li id="k<!-- TMPL_VAR name="key" -->">
267 <input type="checkbox" class="fieldpick" id="rec_2_<!-- TMPL_VAR name="key" -->" />
268 <span class="field"><!-- TMPL_VAR NAME="tag" --></span>
270 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_indicator1_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="indicator1" -->" />
271 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_indicator2_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="indicator2" -->" />
272 <!-- TMPL_IF NAME="value" --> / <!-- TMPL_VAR NAME="value" -->
273 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_code_00_<!-- TMPL_VAR NAME="key" -->" value="00" />
274 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_subfield_00_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="value" -->" />
277 <!-- TMPL_IF NAME="subfield" -->
279 <!-- TMPL_LOOP NAME="subfield" -->
280 <li id="k<!-- TMPL_VAR name="subkey" -->">
281 <input type="checkbox" class="subfieldpick" id="rec_2_<!-- TMPL_VAR name="subkey" -->" />
282 <span class="subfield"><!-- TMPL_VAR NAME="subtag" --></span> / <!-- TMPL_VAR NAME="value" -->
283 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_code_<!-- TMPL_VAR NAME="subtag" -->_<!-- TMPL_VAR NAME="key" -->_<!-- TMPL_VAR NAME="subkey" -->" value="<!-- TMPL_VAR NAME="subtag" -->" />
284 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_subfield_<!-- TMPL_VAR NAME="subtag" -->_<!-- TMPL_VAR NAME="key" -->_<!-- TMPL_VAR NAME="subkey" -->" value="<!-- TMPL_VAR NAME="value" -->" />
300 </div><!-- /div#tabrecord2 -->
301 </div> <!-- // #tabs -->
305 <h2>Destination record</h2>
306 <div style="border:1px solid #E8E8E8;padding:1em;margin-top:2em;">
308 <!-- TMPL_LOOP NAME="record1" -->
309 <!-- TMPL_LOOP NAME="field" --><li id="k<!-- TMPL_VAR name="key" -->"><span class="field"><!-- TMPL_VAR NAME="tag" --></span>
310 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_indicator1_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="indicator1" -->" />
311 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_indicator2_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="indicator2" -->" />
312 <!-- TMPL_IF NAME="value" --> /
313 <!-- TMPL_VAR NAME="value" -->
314 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_code_00_<!-- TMPL_VAR NAME="key" -->" value="00" />
315 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_subfield_00_<!-- TMPL_VAR NAME="key" -->" value="<!-- TMPL_VAR NAME="value" -->" />
318 <!-- TMPL_IF NAME="subfield" -->
320 <!-- TMPL_LOOP NAME="subfield" -->
321 <li id="k<!-- TMPL_VAR name="subkey" -->">
322 <span class="subfield"><!-- TMPL_VAR NAME="subtag" --></span> / <!-- TMPL_VAR NAME="value" -->
323 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_code_<!-- TMPL_VAR NAME="subtag" -->_<!-- TMPL_VAR NAME="key" -->_<!-- TMPL_VAR NAME="subkey" -->" value="<!-- TMPL_VAR NAME="subtag" -->" />
324 <input type="hidden" name="tag_<!-- TMPL_VAR name="tag" -->_subfield_<!-- TMPL_VAR NAME="subtag" -->_<!-- TMPL_VAR NAME="key" -->_<!-- TMPL_VAR NAME="subkey" -->" value="<!-- TMPL_VAR NAME="value" -->" />
336 <input type="hidden" name="biblio1" value="<!-- TMPL_VAR name="biblio1" -->" />
337 <input type="hidden" name="biblio2" value="<!-- TMPL_VAR name="biblio2" -->" />
338 <input type="hidden" name="mergereference" value="<!-- TMPL_VAR name="mergereference" -->" />
341 </div> <!-- // #result -->
342 </div> <!-- .yui-u -->
343 <fieldset class="action"><input type="submit" name="merge" value="Merge" /></fieldset>
354 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->