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