Bug 20128: Add permission for advanced cataloging editor
[koha-equinox.git] / 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   });
427 </script>
428
429 </head>
430 <body id="cat_addbiblio" class="cat">
431
432    <div id="loading">
433        <div>Loading, please wait...</div>
434    </div>
435
436 [% INCLUDE 'header.inc' %]
437
438 <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>
439
440 <div class="main container-fluid">
441     <div class="row">
442         <div class="col-md-10 col-md-offset-1">
443
444 <h1>
445 [% IF ( biblionumber ) %]Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])
446 [% ELSE %]Add MARC record [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]
447 [% END %]
448 </h1>
449
450 [% UNLESS ( number ) %]
451     <!-- show duplicate warning on tab 0 only -->
452         [% IF ( duplicatebiblionumber ) %]
453                     <div class="dialog alert">
454                         <h3>Duplicate record suspected</h3>
455                         <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>
456                         [% IF ( CAN_user_editcatalogue_edit_items ) %]<form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
457                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
458                                                     <button type="submit" class="new"><i class="fa fa-fw fa-pencil"></i> Yes, edit existing items</button>
459                                                 </form>[% ELSE %]<form action="/cgi-bin/koha/catalogue/detail.pl" method="get">
460                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
461                                                     <input type="submit" value="Yes: View existing items" />
462                                                 </form>[% END %]
463                         <form action="/cgi-bin/koha/cataloguing/addbiblio.pl" method="get">
464                             [% 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 %]
465                         </form>
466                     </div>
467         [% END %]
468     [% END %]
469
470 [% IF ( done ) %]
471     <script>
472         opener.document.forms['f'].biblionumber.value=[% biblionumber | html %];
473         opener.document.forms['f'].title.value='[% title | html %]';
474         window.close();
475     </script>
476 [% ELSE %]
477     <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
478     <input type="hidden" value="[% IF ( biblionumber ) %]view[% ELSE %]items[% END %]" id="redirect" name="redirect" />
479     <input type="hidden" value="" id="current_tab" name="current_tab" />
480     <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
481 [% END %]
482
483 <div id="toolbar" class="btn-toolbar">
484     [% IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
485         [% IF (circborrowernumber) %][%# fast cataloging must lead to items %]
486             <!-- Action is under fast cataloging - Save button redirecting to items -->
487             <div class="btn-group"><a href="#" id="saveanditems" class="btn btn-default"><i class="fa fa-save"></i> Save</a></div>
488         [% ELSE %]
489             <!-- Not using fast cataloging - Display split menu -->
490             <div class="btn-group">
491                 <button class="btn btn-default" id="saverecord"><i class="fa fa-save"></i> Save</button>
492                 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
493                 <span class="caret"></span>
494                 </button>
495                 <ul class="dropdown-menu">
496                     <li><a id="saveandview" href="#">Save and view record</a></li>
497                     <li><a id="saveanditems" href="#">Save and edit items</a></li>
498                     <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
499                 </ul>
500             </div>
501         [% END %]
502     [% ELSE %]
503         <!-- User cannot edit items - single button redirecting to view -->
504         <div class="btn-group"><a href="#" id="saveandview" class="btn btn-default"><i class="fa fa-save"></i> Save</a></div>
505     [% END %]
506
507     [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
508         <div class="btn-group"><a class="btn btn-default" href="#" id="z3950search"><i class="fa fa-search"></i> Z39.50/SRU search</a></div>
509     [% END %]
510
511     <div class="btn-group">
512         <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cog"></i> Settings <span class="caret"></span></button>
513         <ul id="settings-menu" class="dropdown-menu">
514             [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 && CAN_user_editcatalogue_advanced_editor %]
515                 <li><a href="#" id="switcheditor">Switch to advanced editor</a></li>
516             [% END %]
517             [% IF marcflavour != 'NORMARC' AND NOT advancedMARCEditor %]
518                 <li>
519                     <a href="#" id="marcDocsSelect"><i class="fa fa-check-square-o"></i> Show MARC tag documentation links</a>
520                 <li>
521                     <a href="#" id="marcTagsSelect"><i class="fa fa-check-square-o"></i> Show tags</a>
522                 </li>
523             [% END %]
524             <li class="divider"></li>
525             <li class="nav-header">Change framework</li>
526             <li>
527                 <a href="#" class="change-framework" data-frameworkcode="">
528                     [% IF ( frameworkcode ) %]
529                        <i class="fa fa-fw">&nbsp;</i>
530                     [% ELSE %]
531                         <i class="fa fa-fw fa-check"></i>
532                     [% END %]
533                     Default
534                 </a>
535             </li>
536             [% FOREACH framework IN frameworks%]
537                 <li>
538                     <a href="#" class="change-framework" data-frameworkcode="[% framework.frameworkcode | html %]">
539                         [% IF framework.frameworkcode == frameworkcode %]
540                             <i class="fa fa-fw fa-check"></i>
541                         [% ELSE %]
542                             <i class="fa fa-fw">&nbsp;</i>
543                         [% END %]
544                         [% framework.frameworktext | html %]
545                     </a>
546                 </li>
547             [% END %]
548         </ul>
549     </div>
550     [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
551         [% IF (biblionumber) %]
552             [% IF ( BiblioDefaultViewmarc ) %]
553                 <div class="btn-group">
554                     <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
555                 </div>
556             [% ELSIF ( BiblioDefaultViewlabeled_marc ) %]
557                 <div class="btn-group">
558                     <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
559                 </div>
560             [% ELSIF ( BiblioDefaultViewisbd ) %]
561                 <div class="btn-group">
562                     <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
563                 </div>
564             [% ELSE %]
565                 <div class="btn-group">
566                     <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
567                 </div>
568             [% END %]
569         [% ELSE %]
570             <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/cataloguing/addbooks.pl">Cancel</a>
571         [% END %]
572     [% END %]
573     <div class="toolbar-tabs-container">
574         [% IF ( BIG_LOOP.size > 1 ) %]
575             <ul class="toolbar-tabs">
576                 [%- FOREACH BIG_LOO IN BIG_LOOP -%]
577                     [% IF loop.first %]
578                         <li class="selected">
579                     [% ELSE %]
580                         <li>
581                     [% END %]
582                         <a data-tabid="[% BIG_LOO.number | html %]" href="#tab[% BIG_LOO.number | html %]XX">[% BIG_LOO.number | html %]</a>
583                     </li>
584                 [%- END -%]
585             </ul>
586         [% END %]
587         <ul class="tag_anchors_list">
588             [% FOREACH BIG_LOO IN BIG_LOOP %]
589                 [% IF loop.first %][% SET tab_selected = "tab_selected" %][% ELSE %][% SET tab_selected = "" %][% END %]
590                 [% FOREACH innerloo IN BIG_LOO.innerloop %]
591                     [% IF ( innerloo.tag ) %]
592                         <li class="tag_anchors tag_anchors_[% BIG_LOO.number | html %] [% tab_selected | html %]">
593                             <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>
594                         </li>
595                     [% END %]
596                 [% END %]
597             [% END %]
598         </ul>
599     </div>
600 </div> <!-- /#toolbar.btn-toolbar -->
601
602 [% IF bib_doesnt_exist %]
603     <div class="dialog alert">
604         The record you are trying to edit doesn't exist.<br>
605         <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>.
606     </div>
607 [% END %]
608
609 [% IF ( popup ) %]
610         <input type="hidden" name="mode" value="popup" />
611 [% END %]
612         <input type="hidden" name="op" value="addbiblio" />
613         <input type="hidden" id="frameworkcode" name="frameworkcode" value="[% frameworkcode | html %]" />
614         <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
615         <input type="hidden" name="breedingid" value="[% breedingid | html %]" />
616         <input type="hidden" name="changed_framework" value="" />
617
618 <div id="addbibliotabs" class="toptabs numbered">
619     <ul>
620         [% FOREACH BIG_LOO IN BIG_LOOP %]
621             <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
622         [% END %]
623     </ul>
624
625 [% FOREACH BIG_LOO IN BIG_LOOP %]
626     <div id="tab[% BIG_LOO.number | html %]XX">
627
628     [% IF ( BIG_LOOP.size > 1 ) %]
629         <h3>Section [% BIG_LOO.number | html %]</h3>
630     [% END %]
631     [% FOREACH innerloo IN BIG_LOO.innerloop %]
632     [% IF ( innerloo.tag ) %]
633     <div class="tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
634         <div class="tag_title" id="div_indicator_tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
635             [% IF advancedMARCEditor %]
636                 <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>
637             [% ELSE %]
638                 <span class="tagnum" title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span>
639                 [% IF marcflavour != 'NORMARC' %]<a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag | html %]'); return false;">&nbsp;?</a>[% END %]
640             [% END %]
641                 [% IF ( innerloo.fixedfield ) %]
642                     <input type="text"
643                         tabindex="1"
644                         class="indicator flat"
645                         style="display:none;"
646                         name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
647                         size="1"
648                         maxlength="1"
649                         value="[% innerloo.indicator1 | html %]" />
650                     <input type="text"
651                         tabindex="1"
652                         class="indicator flat"
653                         style="display:none;"
654                         name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
655                         size="1"
656                         maxlength="1"
657                         value="[% innerloo.indicator2 | html %]" />
658                 [% ELSE %]
659                     <input type="text"
660                         tabindex="1"
661                         class="indicator flat"
662                         name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
663                         size="1"
664                         maxlength="1"
665                         value="[% innerloo.indicator1 | html %]" />
666                     <input type="text"
667                         tabindex="1"
668                         class="indicator flat"
669                         name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
670                         size="1"
671                         maxlength="1"
672                         value="[% innerloo.indicator2 | html %]" />
673                 [% END %] -
674
675             [% UNLESS advancedMARCEditor %]
676                 <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>
677             [% END %]
678                 <span class="field_controls">
679                 [% IF ( innerloo.repeatable ) %]
680                     <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">
681                         <img src="[% interface | html %]/[% theme | html %]/img/repeat-tag.png" alt="Repeat this Tag" />
682                     </a>
683                 [% END %]
684                     <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Delete this Tag">
685                         <img src="[% interface | html %]/[% theme | html %]/img/delete-tag.png" alt="Delete this Tag" />
686                     </a>
687                 </span>
688
689         </div>
690
691         [% FOREACH subfield_loo IN innerloo.subfield_loop %]
692             <!--  One line on the marc editor -->
693             <div class="subfield_line" style="[% subfield_loo.visibility | html %]" id="subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]">
694
695                 [% UNLESS advancedMARCEditor %]
696                     [% 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">
697                     [% ELSE %]<label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield">
698                     [% END %]
699                 [% END %]
700
701                 <span class="subfieldcode">
702                     [% IF ( subfield_loo.fixedfield ) %]
703                         <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" />
704                     [% ELSE %]
705                         <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" />
706                     [% END %]
707                         <input type="text"
708                             title="[% subfield_loo.marc_lib | $raw %]"
709                             style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
710                             name="tag_[% subfield_loo.tag | html %]_code_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]"
711                             value="[% subfield_loo.subfield | html %]"
712                             size="1"
713                             maxlength="1"
714                             class="flat"
715                             tabindex="0" />
716                 </span>
717
718                 [% UNLESS advancedMARCEditor %]
719                     [% IF ( subfield_loo.mandatory ) %]<span class="subfield subfield_mandatory">[% ELSE %]<span class="subfield">[% END %]
720                         [% subfield_loo.marc_lib | $raw %]
721                         [% IF ( subfield_loo.mandatory ) %]<span class="mandatory_marker" title="This field is mandatory">*</span>[% END %]
722                     </span>
723                     </label>
724                 [% END %]
725                 
726                 [% SET mv = subfield_loo.marc_value %]
727                 [% IF ( mv.type == 'text' ) %]
728                     [% IF ( mv.readonly == 1 ) %]
729                     <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" />
730                     [% ELSE %]
731                     <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 -%]" />
732                     [% END %]
733                     [% IF ( mv.authtype ) %]
734                     <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>
735                     [% END %]
736                 [% ELSIF ( mv.type == 'text_complex' ) %]
737                     <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 -%]" />
738                     <span class="subfield_controls">
739                         [% IF mv.noclick %]
740                             <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup"></a>
741                         [% ELSE %]
742                             <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
743                         [% END %]
744                     </span>
745                     [% mv.javascript | $raw %]
746                 [% ELSIF ( mv.type == 'hidden' ) %]
747                     <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 -%]" />
748                 [% ELSIF ( mv.type == 'textarea' ) %]
749                     <textarea cols="70" rows="4" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" class="input_marceditor" tabindex="1">[%- mv.value | html -%]</textarea>
750                 [% ELSIF ( mv.type == 'select' ) %]
751                     <select name="[%- mv.name | html -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id | html -%]">
752                     [% FOREACH aval IN mv.values %]
753                         [% IF aval == mv.default %]
754                         <option value="[%- aval | html -%]" selected="selected">[%- mv.labels.$aval | html -%]</option>
755                         [% ELSE %]
756                         <option value="[%- aval | html -%]">[%- mv.labels.$aval | html -%]</option>
757                         [% END %]
758                     [% END %]
759                     </select>
760                 [% END %]
761                 
762                 <span class="subfield_controls">
763                 [% IF ( subfield_loo.repeatable ) %]
764                     <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;">
765                         <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
766                     </a>
767                     <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;">
768                         <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
769                     </a>
770                 [% END %]
771                 </span>
772                 
773             </div>
774             <!-- End of the line -->
775         [% END %]
776
777     </div>
778     [% END %]<!-- if innerloo.tag -->
779     [% END %]<!-- BIG_LOO.innerloop -->
780     </div>
781 [% END %]<!-- BIG_LOOP -->
782
783 </div><!-- tabs -->
784
785 [%# Fields for fast cataloging %]
786 <input type="hidden" name="barcode" value="[% barcode | html %]" />
787 <input type="hidden" name="branch" value="[% branch | html %]" />
788 <input type="hidden" name="circborrowernumber" value="[% circborrowernumber | html %]" />
789 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
790 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
791 [%# End of fields for fast cataloging %]
792
793 </form>
794
795 </div>
796 </div>
797
798 [% INCLUDE 'intranet-bottom.inc' %]