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