4ce6d6110616903feb1864dc35e0b1a1838020d8
[srvgit] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / addbiblio.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% INCLUDE 'doc-head-open.inc' %]
5 <title>Koha &rsaquo; Cataloging &rsaquo; [% IF ( biblionumber ) %]Editing [% title | html %] (Record number [% biblionumber | html %])[% ELSE %]Add MARC record[% END %]</title>
6 [% INCLUDE 'doc-head-close.inc' %]
7 [% Asset.js("lib/hc-sticky.js") | $raw %]
8 [% Asset.js("js/cataloging.js") | $raw %]
9 [% INCLUDE 'browser-strings.inc' %]
10 [% Asset.js("js/browser.js") | $raw %]
11 <script>
12     var browser = KOHA.browser('[% searchid | html %]', parseInt('[% biblionumber | html %]', 10));
13     browser.show();
14
15     $(window).load(function(){
16         $("#loading").hide();
17     });
18     var Sticky;
19          $(document).ready(function() {
20
21         [% IF bib_doesnt_exist %]
22             $("#addbibliotabs").hide();
23             $("#toolbar").hide();
24         [% END %]
25
26         $('#addbibliotabs').tabs().bind('show.ui-tabs', function(e, ui) {
27                         $("#"+ui.panel.id+" input:eq(0)").focus();
28                 });
29
30         [% IF tab %]
31           $('#addbibliotabs').selectTabByID("tab[% tab | html %]");
32         [% END %]
33
34         Sticky = $("#toolbar");
35         Sticky.hcSticky({
36             stickTo: "#f",
37             stickyClass: "floating"
38         });
39
40         /* check cookie to hide/show marcdocs*/
41         if($.cookie("marcdocs_[% borrowernumber | html %]") == 'hide'){
42             toggleMARCdocLinks(false);
43         } else {
44             toggleMARCdocLinks(true);
45         }
46
47         $("#marcDocsSelect").click(function(){
48             if($.cookie("marcdocs_[% borrowernumber | html %]") == 'hide'){
49                 toggleMARCdocLinks(true);
50             } else {
51                 toggleMARCdocLinks(false);
52             }
53         });
54
55         /* check cookie to hide/show marc tags*/
56         var marctags_cookie = $.cookie("marctags_[% borrowernumber | html %]");
57         if( marctags_cookie == 'hide'){
58             toggleMARCTagLinks(false);
59         } else if( marctags_cookie == 'show'){
60             toggleMARCTagLinks(true)
61         } else {
62             [% UNLESS Koha.Preference("hide_marc") %]
63                 toggleMARCTagLinks(true)
64             [% ELSE %]
65                 toggleMARCTagLinks(false);
66             [% END %]
67         }
68
69         $("#marcTagsSelect").click(function(){
70             if( $.cookie("marctags_[% borrowernumber | html %]") == 'hide'){
71                 toggleMARCTagLinks(true)
72             } else {
73                 toggleMARCTagLinks(false);
74             }
75         });
76
77         [%# Only ask for a confirmation if it is an edit %]
78         $("#z3950search").click(function(){
79             [% IF biblionumber %]
80                 if (confirm(_("Please note that this external search could replace the current record."))){
81                     PopupZ3950();
82                 }
83             [% ELSE %]
84                 PopupZ3950();
85             [% END %]
86         });
87
88         $("#saverecord").click(function(){
89             $(".btn-group").removeClass("open");
90             onOption();
91             return false;
92         });
93
94         $("#saveandview").click(function(){
95             $(".btn-group").removeClass("open");
96             redirect("view");
97             return false;
98         });
99
100         $("#saveanditems").click(function(){
101             $(".btn-group").removeClass("open");
102             redirect("items");
103             return false;
104         });
105         $("#saveandcontinue").click(function(){
106             $(".btn-group").removeClass("open");
107             var tab = $("#addbibliotabs li.ui-tabs-active:first a").attr('href');
108             tab = tab.replace('#', '');
109             $("#current_tab").val(tab);
110             redirect("just_save", tab);
111             return false;
112         });
113
114         $( '#switcheditor' ).click( function() {
115             var breedingid = [% breedingid || "null" | html %];
116
117             if ( !confirm( breedingid ? _("This record cannot be transferred to the advanced editor. Continue?") : _("Any changes will not be saved. Continue?") ) ) return false;
118
119             $.cookie( 'catalogue_editor_[% logged_in_user.borrowernumber | html %]', 'advanced', { expires: 365, path: '/' } );
120
121             var biblionumber = [% biblionumber || "null" | html %];
122
123             if ( biblionumber ) {
124                 window.location = '/cgi-bin/koha/cataloguing/editor.pl#catalog/' + biblionumber;
125             } else {
126                 window.location = '/cgi-bin/koha/cataloguing/editor.pl';
127             }
128
129             return false;
130         } );
131         $(".change-framework").on("click", function(){
132             var frameworkcode = $(this).data("frameworkcode");
133             $("#frameworkcode").val( frameworkcode );
134             Changefwk();
135         });
136
137         $(".toolbar-tabs a").on("click",function(e){
138             e.preventDefault();
139             $(".toolbar-tabs li").removeClass("selected");
140             $(this).parent().addClass("selected");
141             var tabid = $(this).data("tabid");
142             $('#addbibliotabs').selectTabByID("tab" + tabid + "XX");
143             $(".tag_anchors").removeClass("tab_selected").hide();
144             $(".tag_anchors_" + tabid ).addClass("tab_selected").show();
145         });
146
147         $(".tag_anchor").on("click", function(e){
148             e.preventDefault();
149             var toolbar_height = $("#toolbar").outerHeight();
150             $(".tag_anchor").removeClass("selected");
151             $(this).addClass("selected");
152             var link = this.href;
153             var linkid = link.substring( link.indexOf("#") + 1 );
154             var dest = $("#" + linkid );
155             var yoffset = dest.offset();
156             window.scrollTo( 0, yoffset.top - toolbar_height - 20 );
157         });
158
159     });
160
161 function redirect(dest){
162     $("#redirect").attr("value",dest);
163     return Check();
164 }
165
166 [% IF ( CAN_user_editcatalogue_edit_items ) %]
167     var onOption = function () {
168         return Check();
169     }
170 [% END %]
171
172 function confirmnotdup(redirect){
173         $("#confirm_not_duplicate").attr("value","1");
174     $("#redirect").attr("value",redirect);
175         Check();
176 }
177
178 function Dopop(link,i) {
179     defaultvalue = document.getElementById(i).value;
180     window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
181 }
182
183 /**
184  * this function open a popup to search on z3950 server.
185  */
186 function PopupZ3950() {
187     var strQuery = GetZ3950Terms();
188         if(strQuery){
189         window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber | html %]"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
190     } 
191 }
192
193 function PopupMARCFieldDoc(field) {
194     [% IF Koha.Preference('marcfielddocurl') %]
195         var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','&quot;') | html %]";
196         docurl = docurl.replace("{MARC}", "[% marcflavour | html %]");
197         docurl = docurl.replace("{FIELD}", ""+field);
198         docurl = docurl.replace("{LANG}", "[% lang | html %]");
199         window.open(docurl);
200     [% ELSIF ( marcflavour == 'MARC21' ) %]
201         _MARC21FieldDoc(field);
202     [% ELSIF ( marcflavour == 'UNIMARC' ) %]
203         _UNIMARCFieldDoc(field);
204     [% END %]
205 }
206
207 function _MARC21FieldDoc(field) {
208     if(field == 0) {
209         window.open("http://www.loc.gov/marc/bibliographic/bdleader.html");
210     } else if (field < 900) {
211         window.open("http://www.loc.gov/marc/bibliographic/bd" + ("000"+field).slice(-3) + ".html");
212     } else {
213         window.open("http://www.loc.gov/marc/bibliographic/bd9xx.html");
214     }
215 }
216
217 function _UNIMARCFieldDoc(field) {
218     /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
219        seems to be the only version available that can be linked to per tag.  More recent
220        versions of the UNIMARC standard are available on the IFLA website only as
221        PDFs!
222     */
223     var url;
224     if (field == 0) {
225         url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
226     } else {
227         var first = field.substring(0,1);
228         url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
229         if (first == 0) url = url + "b";
230         url = first == 9
231               ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
232               : url + field;
233     }
234     window.open(url);
235 }
236
237 /*
238  * Functions to hide/show marc docs and tags links
239  */
240
241 function toggleMARCdocLinks(flag){
242     if( flag === true ){
243         $(".marcdocs").show();
244         $.cookie("marcdocs_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
245         $("#marcDocsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
246     } else {
247         $(".marcdocs").hide();
248         $.cookie("marcdocs_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
249         $("#marcDocsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
250     }
251 }
252
253 function toggleMARCTagLinks(flag){
254     if( flag === true ){
255         $(".tagnum").show();
256         $(".subfieldcode").show();
257         $.cookie("marctags_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
258         $("#marcTagsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
259     } else {
260         $(".tagnum").hide();
261         $(".subfieldcode").hide();
262         $.cookie("marctags_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
263         $("#marcTagsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
264     }
265 }
266
267 /**
268  * check if mandatory subfields are written
269  */
270 function AreMandatoriesNotOk(){
271     var mandatories = new Array();
272     var mandatoriesfields = new Array();
273     var tab = new Array();
274     var label = new Array();
275     var flag=0;
276     var tabflag= new Array();  
277     [% FOREACH BIG_LOO IN BIG_LOOP %]
278         [% FOREACH innerloo IN BIG_LOO.innerloop %]
279                 [% IF ( innerloo.mandatory ) %]
280                 mandatoriesfields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
281                 [% END %]
282                 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
283                         [% IF ( subfield_loo.mandatory ) %]mandatories.push("[% subfield_loo.id | html %]");
284                         tab.push("[% BIG_LOO.number | html %]");
285                     label.push("[% subfield_loo.marc_lib | $raw %]");
286                 [% END %]
287             [% END %]
288         [% END %]
289     [% END %]
290     var StrAlert = _("Can't save this record because the following field aren't filled:");
291     StrAlert += "\n\n";
292     for(var i=0,len=mandatories.length; i<len ; i++){
293         var tag=mandatories[i].substr(4,3);
294         var subfield=mandatories[i].substr(17,1);
295         var tagnumber=mandatories[i].substr(19,mandatories[i].lastIndexOf("_")-19);
296         if (tabflag[tag+subfield+tagnumber] ==  null) { 
297             tabflag[tag+subfield+tagnumber]=new Array();
298             tabflag[tag+subfield+tagnumber][0]=0; 
299         }
300         if( tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(mandatories[i]) != null && ! document.getElementById(mandatories[i]).value || document.getElementById(mandatories[i]) == null)){
301             tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
302             document.getElementById(mandatories[i]).setAttribute('class','subfield_not_filled');
303             $('#' + mandatories[i]).focus();
304             tabflag[tag+subfield+tagnumber][1]=label[i];
305             tabflag[tag+subfield+tagnumber][2]=tab[i];
306         } else {
307             tabflag[tag+subfield+tagnumber][0] = 1;
308         }    
309     }
310     for (var tagsubfieldid in tabflag){
311       if (tabflag[tagsubfieldid][0]==0){
312         var tag=tagsubfieldid.substr(0,3);
313         var subfield=tagsubfieldid.substr(3,1);    
314         StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
315         //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n"; 
316         flag=1;    
317       }   
318     }   
319     
320     /* Check for mandatories field(not subfields) */
321     for(var i=0,len=mandatoriesfields.length; i<len; i++){
322             isempty  = true;
323                 arr      = mandatoriesfields[i];
324         divid    = "tag_" + arr[0] + "_" + arr[1];
325         varegexp = new RegExp("^tag_" + arr[0] + "_code_");
326         
327                 if(parseInt(arr[0]) >= 10){
328                 elem = document.getElementById(divid);
329                 eleminputs = elem.getElementsByTagName('input');
330                 
331                 for(var j=0,len2=eleminputs.length; j<len2; j++){
332         
333                         if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
334                                         inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
335                                         
336                                         for( var k=0; k<len2; k++){
337                                                 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
338                                                         isempty = false
339                                                 }
340                                         }
341                                         
342                                         elemselect = elem.getElementsByTagName('select');
343                                         for( var k=0; k<elemselect.length; k++){
344                                                 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
345                                                         isempty = false
346                                                 }
347                                         }
348                         }
349                 }
350
351                 elemtextareas = elem.getElementsByTagName('textarea');
352                 for(var j=0,len2=elemtextareas.length; j<len2; j++){
353                 // this bit assumes that the only textareas in this context would be for subfields
354                 if (elemtextareas[j].value) {
355                     isempty = false;
356                 }
357             }
358         }else{
359                 isempty = false;
360         }
361         
362         if(isempty){
363                 flag = 1;
364                 StrAlert += "\t* " + _("Field %s is mandatory, at least one of its subfields must be filled.").format(arr[0]) + "\n";
365         }
366         
367     }
368     
369     if(flag){
370             return StrAlert;
371         } else {
372                 return flag;
373         }
374 }
375
376 /**
377  *
378  *
379  */
380 function Check(){
381     var StrAlert = AreMandatoriesNotOk();
382     if( ! StrAlert ){
383         document.f.submit();
384         return true;
385     } else {
386         alert(StrAlert);
387         return false;
388     }
389 }
390
391 /** 
392  * check if z3950 mandatories are set or not
393  */
394 function GetZ3950Terms(){
395     var frameworkcode = document.getElementById("frameworkcode").value;
396     var strQuery = "&frameworkcode=" + frameworkcode;
397     var mandatories = new Array();
398     var mandatories_label = new Array();
399     [% FOREACH BIG_LOO IN BIG_LOOP %][% FOREACH innerloo IN BIG_LOO.innerloop %][% FOREACH subfield_loo IN innerloo.subfield_loop %][% IF ( subfield_loo.z3950_mandatory ) %]mandatories.push("[% subfield_loo.id | html %]");
400         mandatories_label.push("[% subfield_loo.z3950_mandatory | html %]");[% END %][% END %][% END %][% END %]
401     
402     for(var i=0,len=mandatories.length; i<len ; i++){
403         var field_value = document.getElementById(mandatories[i]).value;
404         if( field_value ){
405             strQuery += "&"+mandatories_label[i]+"="+field_value;
406         }
407     }
408     return strQuery;
409 }
410
411 function Changefwk() {
412     var f = document.f;
413     f.op.value = "[% op | html %]";
414     f.biblionumber.value = "[% biblionumberdata | html %]";
415     f.changed_framework.value = "changed";
416     f.submit();
417 }
418
419 </script>
420 [% Asset.css("css/addbiblio.css") | $raw %]
421
422 [% INCLUDE 'select2.inc' %]
423 <script>
424   $(document).ready(function() {
425     $('.subfield_line select').select2({
426         width: "70%"
427     });
428   });
429 </script>
430
431 </head>
432 <body id="cat_addbiblio" class="cat">
433
434    <div id="loading">
435        <div>Loading, please wait...</div>
436    </div>
437
438 [% INCLUDE 'header.inc' %]
439
440 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>  &rsaquo; [% IF ( biblionumber ) %]Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])[% ELSE %]Add MARC record[% END %]</div>
441
442 <div class="main container-fluid">
443     <div class="row">
444         <div class="col-md-10 col-md-offset-1">
445
446 <h1>
447 [% IF ( biblionumber ) %]Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])
448 [% ELSE %]Add MARC record [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]
449 [% END %]
450 </h1>
451
452 [% UNLESS ( number ) %]
453     <!-- show duplicate warning on tab 0 only -->
454         [% IF ( duplicatebiblionumber ) %]
455                     <div class="dialog alert">
456                         <h3>Duplicate record suspected</h3>
457                         <p>Is this a duplicate of <a class="popup" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber | html %]" onclick="openWindow('/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber | html %]&amp;popup=1', 'DuplicateBiblio','800','600'); return false;">[% duplicatetitle | html %]</a> ?</p>
458                         [% IF ( CAN_user_editcatalogue_edit_items ) %]<form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
459                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
460                                                     <button type="submit" class="new"><i class="fa fa-fw fa-pencil"></i> Yes, edit existing items</button>
461                                                 </form>[% ELSE %]<form action="/cgi-bin/koha/catalogue/detail.pl" method="get">
462                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
463                                                     <input type="submit" value="Yes: View existing items" />
464                                                 </form>[% END %]
465                         <form action="/cgi-bin/koha/cataloguing/addbiblio.pl" method="get">
466                             [% IF ( CAN_user_editcatalogue_edit_items ) %]<button type="submit" class="new" onclick="confirmnotdup('items'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>[% ELSE %]<button type="submit" class="new" onclick="confirmnotdup('view'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>[% END %]
467                         </form>
468                     </div>
469         [% END %]
470     [% END %]
471
472 [% IF ( done ) %]
473     <script>
474         opener.document.forms['f'].biblionumber.value=[% biblionumber | html %];
475         opener.document.forms['f'].title.value='[% title | html %]';
476         window.close();
477     </script>
478 [% ELSE %]
479     <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
480     <input type="hidden" value="[% IF ( biblionumber ) %]view[% ELSE %]items[% END %]" id="redirect" name="redirect" />
481     <input type="hidden" value="" id="current_tab" name="current_tab" />
482     <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
483 [% END %]
484
485 <div id="toolbar" class="btn-toolbar">
486     [% IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
487         [% IF (circborrowernumber) %][%# fast cataloging must lead to items %]
488             <!-- Action is under fast cataloging - Save button redirecting to items -->
489             <div class="btn-group"><a href="#" id="saveanditems" class="btn btn-default btn-sm"><i class="fa fa-save"></i> Save</a></div>
490         [% ELSE %]
491             <!-- Not using fast cataloging - Display split menu -->
492             <div class="btn-group">
493                 <button class="btn btn-default btn-sm" id="saverecord"><i class="fa fa-save"></i> Save</button>
494                 <button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
495                 <span class="caret"></span>
496                 </button>
497                 <ul class="dropdown-menu">
498                     <li><a id="saveandview" href="#">Save and view record</a></li>
499                     <li><a id="saveanditems" href="#">Save and edit items</a></li>
500                     <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
501                 </ul>
502             </div>
503         [% END %]
504     [% ELSE %]
505         <!-- User cannot edit items - single button redirecting to view -->
506         <div class="btn-group"><a href="#" id="saveandview" class="btn btn-default btn-sm"><i class="fa fa-save"></i> Save</a></div>
507     [% END %]
508
509     [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
510         <div class="btn-group"><a class="btn btn-default btn-sm" href="#" id="z3950search"><i class="fa fa-search"></i> Z39.50/SRU search</a></div>
511     [% END %]
512
513     <div class="btn-group">
514         <button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cog"></i> Settings <span class="caret"></span></button>
515         <ul id="settings-menu" class="dropdown-menu">
516             [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 %]
517                 <li><a href="#" id="switcheditor">Switch to advanced editor</a></li>
518             [% END %]
519             [% IF marcflavour != 'NORMARC' AND NOT advancedMARCEditor %]
520                 <li>
521                     <a href="#" id="marcDocsSelect"><i class="fa fa-check-square-o"></i> Show MARC tag documentation links</a>
522                 <li>
523                     <a href="#" id="marcTagsSelect"><i class="fa fa-check-square-o"></i> Show tags</a>
524                 </li>
525             [% END %]
526             <li class="divider"></li>
527             <li class="nav-header">Change framework</li>
528             <li>
529                 <a href="#" class="change-framework" data-frameworkcode="">
530                     [% IF ( frameworkcode ) %]
531                        <i class="fa fa-fw">&nbsp;</i>
532                     [% ELSE %]
533                         <i class="fa fa-fw fa-check"></i>
534                     [% END %]
535                     Default
536                 </a>
537             </li>
538             [% FOREACH framework IN frameworks%]
539                 <li>
540                     <a href="#" class="change-framework" data-frameworkcode="[% framework.frameworkcode | html %]">
541                         [% IF framework.frameworkcode == frameworkcode %]
542                             <i class="fa fa-fw fa-check"></i>
543                         [% ELSE %]
544                             <i class="fa fa-fw">&nbsp;</i>
545                         [% END %]
546                         [% framework.frameworktext | html %]
547                     </a>
548                 </li>
549             [% END %]
550         </ul>
551     </div>
552     [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
553         [% IF (biblionumber) %]
554             [% IF ( BiblioDefaultViewmarc ) %]
555                 <div class="btn-group">
556                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
557                 </div>
558             [% ELSIF ( BiblioDefaultViewlabeled_marc ) %]
559                 <div class="btn-group">
560                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
561                 </div>
562             [% ELSIF ( BiblioDefaultViewisbd ) %]
563                 <div class="btn-group">
564                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
565                 </div>
566             [% ELSE %]
567                 <div class="btn-group">
568                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
569                 </div>
570             [% END %]
571         [% ELSE %]
572             <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/cataloguing/addbooks.pl">Cancel</a>
573         [% END %]
574     [% END %]
575     <div class="toolbar-tabs-container">
576         [% IF ( BIG_LOOP.size > 1 ) %]
577             <ul class="toolbar-tabs">
578                 [%- FOREACH BIG_LOO IN BIG_LOOP -%]
579                     [% IF loop.first %]
580                         <li class="selected">
581                     [% ELSE %]
582                         <li>
583                     [% END %]
584                         <a data-tabid="[% BIG_LOO.number | html %]" href="#tab[% BIG_LOO.number | html %]XX">[% BIG_LOO.number | html %]</a>
585                     </li>
586                 [%- END -%]
587             </ul>
588         [% END %]
589         <ul class="tag_anchors_list">
590             [% FOREACH BIG_LOO IN BIG_LOOP %]
591                 [% IF loop.first %][% SET tab_selected = "tab_selected" %][% ELSE %][% SET tab_selected = "" %][% END %]
592                 [% FOREACH innerloo IN BIG_LOO.innerloop %]
593                     [% IF ( innerloo.tag ) %]
594                         <li class="tag_anchors tag_anchors_[% BIG_LOO.number | html %] [% tab_selected | html %]">
595                             <a class="tag_anchor" id="tag_anchor_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]" title="tag_anchor_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]" href="#div_indicator_tag_[% innerloo.tag | uri %]_[% innerloo.index | uri %][% innerloo.random | uri %]">[% innerloo.tag | uri %]</a>
596                         </li>
597                     [% END %]
598                 [% END %]
599             [% END %]
600         </ul>
601     </div>
602 </div> <!-- /#toolbar.btn-toolbar -->
603
604 [% IF bib_doesnt_exist %]
605     <div class="dialog alert">
606         The record you are trying to edit doesn't exist.<br>
607         <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=">Add a new record</a> or <a href="/cgi-bin/koha/catalogue/search.pl">do a catalog search</a>.
608     </div>
609 [% END %]
610
611 [% IF ( popup ) %]
612         <input type="hidden" name="mode" value="popup" />
613 [% END %]
614         <input type="hidden" name="op" value="addbiblio" />
615         <input type="hidden" id="frameworkcode" name="frameworkcode" value="[% frameworkcode | html %]" />
616         <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
617         <input type="hidden" name="breedingid" value="[% breedingid | html %]" />
618         <input type="hidden" name="changed_framework" value="" />
619
620 <div id="addbibliotabs" class="toptabs numbered">
621     <ul>
622         [% FOREACH BIG_LOO IN BIG_LOOP %]
623             <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
624         [% END %]
625     </ul>
626
627 [% FOREACH BIG_LOO IN BIG_LOOP %]
628     <div id="tab[% BIG_LOO.number | html %]XX">
629
630     [% IF ( BIG_LOOP.size > 1 ) %]
631         <h3>Section [% BIG_LOO.number | html %]</h3>
632     [% END %]
633     [% FOREACH innerloo IN BIG_LOO.innerloop %]
634     [% IF ( innerloo.tag ) %]
635     <div class="tag" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
636         <div class="row">
637         <div class="tag_title col-sm-12" id="div_indicator_tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
638             [% IF advancedMARCEditor %]
639                 <a href="#" tabindex="1" class="tagnum" title="[% innerloo.tag_lib | html %] - Click to Expand this Tag" onclick="ExpandField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;">[% innerloo.tag | html %]</a>
640             [% ELSE %]
641                 <span class="tagnum" title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span>
642                 [% IF marcflavour != 'NORMARC' %]<a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag | html %]'); return false;">&nbsp;?</a>[% END %]
643             [% END %]
644                 [% IF ( innerloo.fixedfield ) %]
645                     <input type="text"
646                         tabindex="1"
647                         class="indicator flat"
648                         style="display:none;"
649                         name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
650                         size="1"
651                         maxlength="1"
652                         value="[% innerloo.indicator1 | html %]" />
653                     <input type="text"
654                         tabindex="1"
655                         class="indicator flat"
656                         style="display:none;"
657                         name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
658                         size="1"
659                         maxlength="1"
660                         value="[% innerloo.indicator2 | html %]" />
661                 [% ELSE %]
662                     <input type="text"
663                         tabindex="1"
664                         class="indicator flat"
665                         name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
666                         size="1"
667                         maxlength="1"
668                         value="[% innerloo.indicator1 | html %]" />
669                     <input type="text"
670                         tabindex="1"
671                         class="indicator flat"
672                         name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
673                         size="1"
674                         maxlength="1"
675                         value="[% innerloo.indicator2 | html %]" />
676                 [% END %] -
677
678             [% UNLESS advancedMARCEditor %]
679                 <a href="#" tabindex="1" class="expandfield" onclick="ExpandField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Click to Expand this Tag">[% innerloo.tag_lib | html %]</a>
680             [% END %]
681                 <span class="field_controls">
682                 [% IF ( innerloo.repeatable ) %]
683                     <a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]','0','[% advancedMARCEditor | html %]'); return false;" title="Repeat this Tag">
684                         <img src="[% interface | html %]/[% theme | html %]/img/repeat-tag.png" alt="Repeat this Tag" />
685                     </a>
686                 [% END %]
687                     <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Delete this Tag">
688                         <img src="[% interface | html %]/[% theme | html %]/img/delete-tag.png" alt="Delete this Tag" />
689                     </a>
690                 </span>
691
692         </div> <!-- /.tag_title col-sm-12 -->
693         </div> <!-- /.row -->
694         [% FOREACH subfield_loo IN innerloo.subfield_loop %]
695             <!--  One line on the marc editor -->
696             <div class="row">
697             <div class="subfield_line" style="[% subfield_loo.visibility | html %]" id="subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]">
698
699                 <div class="col-sm-4">
700                 [% UNLESS advasmedMARCEditor %]
701                     [% IF ( subfield_loo.fixedfield ) %]<label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" style="display:none;" class="labelsubfield">
702                     [% ELSE %]<label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield">
703                     [% END %]
704                 [% END %]
705
706                     </label>
707
708                 <span class="subfieldcode">
709                     [% IF ( subfield_loo.fixedfield ) %]
710                         <img class="buttonUp" style="display:none;" src="[% interface | html %]/[% theme | html %]/img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]')" alt="Move Up" title="Move Up" />
711                     [% ELSE %]
712                         <img class="buttonUp" src="[% interface | html %]/[% theme | html %]/img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]')" alt="Move Up" title="Move Up" />
713                     [% END %]
714                         <input type="text"
715                             title="[% subfield_loo.marc_lib | $raw %]"
716                             style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
717                             name="tag_[% subfield_loo.tag | html %]_code_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]"
718                             value="[% subfield_loo.subfield | html %]"
719                             size="1"
720                             maxlength="1"
721                             class="flat"
722                             tabindex="0" />
723                 </span>
724
725                 [% UNLESS advancedMARCEditor %]
726                     [% IF ( subfield_loo.mandatory ) %]<span class="subfield subfield_mandatory">[% ELSE %]<span class="subfield">[% END %]
727                         [% subfield_loo.marc_lib | $raw %]
728                         [% IF ( subfield_loo.mandatory ) %]<span class="mandatory_marker" title="This field is mandatory">*</span>[% END %]
729                     </span>
730                 [% END %]
731                 </div> <!-- /.col-sm-4 -->
732                 <div class="col-sm-8">
733                 [% SET mv = subfield_loo.marc_value %]
734                 [% IF ( mv.type == 'text' ) %]
735                     [% IF ( mv.readonly == 1 ) %]
736                     <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor readonly" tabindex="1" maxlength="[%- mv.maxlength | html -%]" readonly="readonly" />
737                     [% ELSE %]
738                     <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor" tabindex="1" maxlength="[%- mv.maxlength | html -%]" />
739                     [% END %]
740                     [% IF ( mv.authtype ) %]
741                     <span class="subfield_controls"><a href="#" class="buttonDot tag_editor" onclick="openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtype | html -%]','biblio'); return false;" tabindex="1" title="Tag editor">Tag editor</a></span>
742                     [% END %]
743                 [% ELSIF ( mv.type == 'text_complex' ) %]
744                     <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor framework_plugin" tabindex="1" maxlength="[%- mv.maxlength | html -%]" />
745                     <span class="subfield_controls">
746                         [% IF mv.noclick %]
747                             <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup"></a>
748                         [% ELSE %]
749                             <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
750                         [% END %]
751                     </span>
752                     [% mv.javascript | $raw %]
753                 [% ELSIF ( mv.type == 'hidden' ) %]
754                     <input tabindex="1" type="hidden" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
755                 [% ELSIF ( mv.type == 'textarea' ) %]
756                     <textarea cols="70" rows="4" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" class="input_marceditor" tabindex="1">[%- mv.value | html -%]</textarea>
757                 [% ELSIF ( mv.type == 'select' ) %]
758                     <select name="[%- mv.name | html -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id | html -%]">
759                     [% FOREACH aval IN mv.values %]
760                         [% IF aval == mv.default %]
761                         <option value="[%- aval | html -%]" selected="selected">[%- mv.labels.$aval | html -%]</option>
762                         [% ELSE %]
763                         <option value="[%- aval | html -%]">[%- mv.labels.$aval | html -%]</option>
764                         [% END %]
765                     [% END %]
766                     </select>
767                 [% END %]
768                 
769                 <span class="subfield_controls">
770                 [% IF ( subfield_loo.repeatable ) %]
771                     <a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]','[% advancedMARCEditor | html %]'); return false;">
772                         <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
773                     </a>
774                     <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;">
775                         <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
776                     </a>
777                 [% END %]
778                 </span>
779                 </div> <!-- /.col-sm-8 -->
780             </div> <!-- /.subfield_line -->
781             </div> <!-- /.row -->
782             <!-- End of the line -->
783         [% END %]
784
785     </div> <!-- /.tag -->
786     [% END %]<!-- if innerloo.tag -->
787     [% END %]<!-- BIG_LOO.innerloop -->
788     </div>
789 [% END %]<!-- BIG_LOOP -->
790
791 </div><!-- tabs -->
792
793 [%# Fields for fast cataloging %]
794 <input type="hidden" name="barcode" value="[% barcode | html %]" />
795 <input type="hidden" name="branch" value="[% branch | html %]" />
796 <input type="hidden" name="circborrowernumber" value="[% circborrowernumber | html %]" />
797 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
798 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
799 [%# End of fields for fast cataloging %]
800
801 </form>
802
803 </div>
804 </div>
805
806 [% INCLUDE 'intranet-bottom.inc' %]