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