de2429b8ffe383bf7c0f1140ab456a4eb3f1b1d3
[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 [% 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     var Sticky;
20          $(document).ready(function() {
21
22         [% IF bib_doesnt_exist %]
23             $("#addbibliotabs").hide();
24             $("#toolbar").hide();
25         [% END %]
26
27         $('#addbibliotabs').tabs().bind('show.ui-tabs', function(e, ui) {
28                         $("#"+ui.panel.id+" input:eq(0)").focus();
29                 });
30
31         [% IF tab %]
32           $('#addbibliotabs').selectTabByID("#[% tab | html %]");
33         [% END %]
34
35         Sticky = $("#toolbar");
36         Sticky.hcSticky({
37             stickTo: ".main",
38             stickyClass: "floating"
39         });
40
41         /* check cookie to hide/show marcdocs*/
42         if($.cookie("marcdocs_[% borrowernumber | html %]") == 'hide'){
43             toggleMARCdocLinks(false);
44         } else {
45             toggleMARCdocLinks(true);
46         }
47
48         $("#marcDocsSelect").click(function(){
49             if($.cookie("marcdocs_[% borrowernumber | html %]") == 'hide'){
50                 toggleMARCdocLinks(true);
51             } else {
52                 toggleMARCdocLinks(false);
53             }
54         });
55
56         /* check cookie to hide/show marc tags*/
57         var marctags_cookie = $.cookie("marctags_[% borrowernumber | html %]");
58         if( marctags_cookie == 'hide'){
59             toggleMARCTagLinks(false);
60         } else if( marctags_cookie == 'show'){
61             toggleMARCTagLinks(true)
62         } else {
63             [% UNLESS Koha.Preference("hide_marc") %]
64                 toggleMARCTagLinks(true)
65             [% ELSE %]
66                 toggleMARCTagLinks(false);
67             [% END %]
68         }
69
70         $("#marcTagsSelect").click(function(){
71             if( $.cookie("marctags_[% borrowernumber | html %]") == 'hide'){
72                 toggleMARCTagLinks(true)
73             } else {
74                 toggleMARCTagLinks(false);
75             }
76         });
77
78         [%# Only ask for a confirmation if it is an edit %]
79         $("#z3950search").click(function(){
80             [% IF biblionumber %]
81                 if (confirm(_("Please note that this external search could replace the current record."))){
82                     PopupZ3950();
83                 }
84             [% ELSE %]
85                 PopupZ3950();
86             [% END %]
87         });
88
89         $("#saverecord").click(function(){
90             $(".btn-group").removeClass("open");
91             onOption();
92             return false;
93         });
94
95         $("#saveandview").click(function(){
96             $(".btn-group").removeClass("open");
97             redirect("view");
98             return false;
99         });
100
101         $("#saveanditems").click(function(){
102             $(".btn-group").removeClass("open");
103             redirect("items");
104             return false;
105         });
106         $("#saveandcontinue").click(function(){
107             $(".btn-group").removeClass("open");
108             var tab = $("#addbibliotabs li.ui-tabs-active:first a").attr('href');
109             tab = tab.replace('#', '');
110             $("#current_tab").val(tab);
111             redirect("just_save", tab);
112             return false;
113         });
114
115         $( '#switcheditor' ).click( function() {
116             var breedingid = [% breedingid || "null" | html %];
117
118             if ( !confirm( breedingid ? _("This record cannot be transferred to the advanced editor. Continue?") : _("Any changes will not be saved. Continue?") ) ) return false;
119
120             $.cookie( 'catalogue_editor_[% logged_in_user.borrowernumber | html %]', 'advanced', { expires: 365, path: '/' } );
121
122             var biblionumber = [% biblionumber || "null" | html %];
123
124             if ( biblionumber ) {
125                 window.location = '/cgi-bin/koha/cataloguing/editor.pl#catalog/' + biblionumber;
126             } else {
127                 window.location = '/cgi-bin/koha/cataloguing/editor.pl';
128             }
129
130             return false;
131         } );
132         $(".change-framework").on("click", function(){
133             var frameworkcode = $(this).data("frameworkcode");
134             $("#frameworkcode").val( frameworkcode );
135             Changefwk();
136         });
137     });
138
139 function redirect(dest){
140     $("#redirect").attr("value",dest);
141     return Check();
142 }
143
144 [% IF ( CAN_user_editcatalogue_edit_items ) %]
145     var onOption = function () {
146         return Check();
147     }
148 [% END %]
149
150 function confirmnotdup(redirect){
151         $("#confirm_not_duplicate").attr("value","1");
152     $("#redirect").attr("value",redirect);
153         Check();
154 }
155
156 function Dopop(link,i) {
157     defaultvalue = document.getElementById(i).value;
158     window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
159 }
160
161 /**
162  * this function open a popup to search on z3950 server.
163  */
164 function PopupZ3950() {
165     var strQuery = GetZ3950Terms();
166         if(strQuery){
167         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');
168     } 
169 }
170
171 function PopupMARCFieldDoc(field) {
172     [% IF Koha.Preference('marcfielddocurl') %]
173         var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','&quot;') | html %]";
174         docurl = docurl.replace("{MARC}", "[% marcflavour | html %]");
175         docurl = docurl.replace("{FIELD}", ""+field);
176         docurl = docurl.replace("{LANG}", "[% lang | html %]");
177         window.open(docurl);
178     [% ELSIF ( marcflavour == 'MARC21' ) %]
179         _MARC21FieldDoc(field);
180     [% ELSIF ( marcflavour == 'UNIMARC' ) %]
181         _UNIMARCFieldDoc(field);
182     [% END %]
183 }
184
185 function _MARC21FieldDoc(field) {
186     if(field == 0) {
187         window.open("http://www.loc.gov/marc/bibliographic/bdleader.html");
188     } else if (field < 900) {
189         window.open("http://www.loc.gov/marc/bibliographic/bd" + ("000"+field).slice(-3) + ".html");
190     } else {
191         window.open("http://www.loc.gov/marc/bibliographic/bd9xx.html");
192     }
193 }
194
195 function _UNIMARCFieldDoc(field) {
196     /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
197        seems to be the only version available that can be linked to per tag.  More recent
198        versions of the UNIMARC standard are available on the IFLA website only as
199        PDFs!
200     */
201     var url;
202     if (field == 0) {
203         url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
204     } else {
205         var first = field.substring(0,1);
206         url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
207         if (first == 0) url = url + "b";
208         url = first == 9
209               ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
210               : url + field;
211     }
212     window.open(url);
213 }
214
215 /*
216  * Functions to hide/show marc docs and tags links
217  */
218
219 function toggleMARCdocLinks(flag){
220     if( flag === true ){
221         $(".marcdocs").show();
222         $.cookie("marcdocs_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
223         $("#marcDocsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
224     } else {
225         $(".marcdocs").hide();
226         $.cookie("marcdocs_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
227         $("#marcDocsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
228     }
229 }
230
231 function toggleMARCTagLinks(flag){
232     if( flag === true ){
233         $(".tagnum").show();
234         $(".subfieldcode").show();
235         $.cookie("marctags_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
236         $("#marcTagsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
237     } else {
238         $(".tagnum").hide();
239         $(".subfieldcode").hide();
240         $.cookie("marctags_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
241         $("#marcTagsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
242     }
243 }
244
245 /**
246  * check if mandatory subfields are written
247  */
248 function AreMandatoriesNotOk(){
249     var mandatories = new Array();
250     var mandatoriesfields = new Array();
251     var tab = new Array();
252     var label = new Array();
253     var flag=0;
254     var tabflag= new Array();  
255     [% FOREACH BIG_LOO IN BIG_LOOP %]
256         [% FOREACH innerloo IN BIG_LOO.innerloop %]
257                 [% IF ( innerloo.mandatory ) %]
258                 mandatoriesfields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
259                 [% END %]
260                 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
261                         [% IF ( subfield_loo.mandatory ) %]mandatories.push("[% subfield_loo.id | html %]");
262                         tab.push("[% BIG_LOO.number | html %]");
263                     label.push("[% subfield_loo.marc_lib | $raw %]");
264                 [% END %]
265             [% END %]
266         [% END %]
267     [% END %]
268     var StrAlert = _("Can't save this record because the following field aren't filled:");
269     StrAlert += "\n\n";
270     for(var i=0,len=mandatories.length; i<len ; i++){
271         var tag=mandatories[i].substr(4,3);
272         var subfield=mandatories[i].substr(17,1);
273         var tagnumber=mandatories[i].substr(19,mandatories[i].lastIndexOf("_")-19);
274         if (tabflag[tag+subfield+tagnumber] ==  null) { 
275             tabflag[tag+subfield+tagnumber]=new Array();
276             tabflag[tag+subfield+tagnumber][0]=0; 
277         }
278         if( tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(mandatories[i]) != null && ! document.getElementById(mandatories[i]).value || document.getElementById(mandatories[i]) == null)){
279             tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
280             document.getElementById(mandatories[i]).setAttribute('class','subfield_not_filled');
281             $('#' + mandatories[i]).focus();
282             tabflag[tag+subfield+tagnumber][1]=label[i];
283             tabflag[tag+subfield+tagnumber][2]=tab[i];
284         } else {
285             tabflag[tag+subfield+tagnumber][0] = 1;
286         }    
287     }
288     for (var tagsubfieldid in tabflag){
289       if (tabflag[tagsubfieldid][0]==0){
290         var tag=tagsubfieldid.substr(0,3);
291         var subfield=tagsubfieldid.substr(3,1);    
292         StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
293         //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n"; 
294         flag=1;    
295       }   
296     }   
297     
298     /* Check for mandatories field(not subfields) */
299     for(var i=0,len=mandatoriesfields.length; i<len; i++){
300             isempty  = true;
301                 arr      = mandatoriesfields[i];
302         divid    = "tag_" + arr[0] + "_" + arr[1];
303         varegexp = new RegExp("^tag_" + arr[0] + "_code_");
304         
305                 if(parseInt(arr[0]) >= 10){
306                 elem = document.getElementById(divid);
307                 eleminputs = elem.getElementsByTagName('input');
308                 
309                 for(var j=0,len2=eleminputs.length; j<len2; j++){
310         
311                         if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
312                                         inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
313                                         
314                                         for( var k=0; k<len2; k++){
315                                                 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
316                                                         isempty = false
317                                                 }
318                                         }
319                                         
320                                         elemselect = elem.getElementsByTagName('select');
321                                         for( var k=0; k<elemselect.length; k++){
322                                                 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
323                                                         isempty = false
324                                                 }
325                                         }
326                         }
327                 }
328
329                 elemtextareas = elem.getElementsByTagName('textarea');
330                 for(var j=0,len2=elemtextareas.length; j<len2; j++){
331                 // this bit assumes that the only textareas in this context would be for subfields
332                 if (elemtextareas[j].value) {
333                     isempty = false;
334                 }
335             }
336         }else{
337                 isempty = false;
338         }
339         
340         if(isempty){
341                 flag = 1;
342                 StrAlert += "\t* " + _("Field %s is mandatory, at least one of its subfields must be filled.").format(arr[0]) + "\n";
343         }
344         
345     }
346     
347     if(flag){
348             return StrAlert;
349         } else {
350                 return flag;
351         }
352 }
353
354 /**
355  *
356  *
357  */
358 function Check(){
359     var StrAlert = AreMandatoriesNotOk();
360     if( ! StrAlert ){
361         document.f.submit();
362         return true;
363     } else {
364         alert(StrAlert);
365         return false;
366     }
367 }
368
369 /** 
370  * check if z3950 mandatories are set or not
371  */
372 function GetZ3950Terms(){
373     var frameworkcode = document.getElementById("frameworkcode").value;
374     var strQuery = "&frameworkcode=" + frameworkcode;
375     var mandatories = new Array();
376     var mandatories_label = new Array();
377     [% 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 %]");
378         mandatories_label.push("[% subfield_loo.z3950_mandatory | html %]");[% END %][% END %][% END %][% END %]
379     
380     for(var i=0,len=mandatories.length; i<len ; i++){
381         var field_value = document.getElementById(mandatories[i]).value;
382         if( field_value ){
383             strQuery += "&"+mandatories_label[i]+"="+field_value;
384         }
385     }
386     return strQuery;
387 }
388
389 function Changefwk() {
390     var f = document.f;
391     f.op.value = "[% op | html %]";
392     f.biblionumber.value = "[% biblionumberdata | html %]";
393     f.changed_framework.value = "changed";
394     f.submit();
395 }
396
397 //]]>
398 </script>
399 [% Asset.css("css/addbiblio.css") | $raw %]
400
401 [% INCLUDE 'select2.inc' %]
402 <script>
403   $(document).ready(function() {
404     $('.subfield_line select').select2();
405   });
406 </script>
407
408 </head>
409 <body id="cat_addbiblio" class="cat">
410
411    <div id="loading">
412        <div>Loading, please wait...</div>
413    </div>
414
415 [% INCLUDE 'header.inc' %]
416
417 <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>
418
419 <div class="main container-fluid">
420     <div class="row">
421         <div class="col-md-10 col-md-offset-1">
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 | uri %]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
747 [% INCLUDE 'intranet-bottom.inc' %]