4 [% INCLUDE 'doc-head-open.inc' %]
5 <title>Koha › Cataloging › [% 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 'strings.inc' %]
10 [% Asset.js("js/browser.js") | $raw %]
12 var browser = KOHA.browser('[% searchid | html %]', parseInt('[% biblionumber | html %]', 10));
15 $(window).load(function(){
19 $(document).ready(function() {
21 [% IF bib_doesnt_exist %]
22 $("#addbibliotabs").hide();
26 var $tabs = $('#addbibliotabs').tabs().bind('show.ui-tabs', function(e, ui) {
27 $("#"+ui.panel.id+" input:eq(0)").focus();
29 $( "ul.sortable_field", $tabs ).sortable({
31 containment: $("#addbibliotabs")
33 $( "ul.sortable_subfield", $tabs ).sortable({
39 link = $("a[href='#[% tab | html %]']");
43 Sticky = $("#toolbar");
46 stickyClass: "floating"
49 /* check cookie to hide/show marcdocs*/
50 if($.cookie("marcdocs_[% borrowernumber | html %]") == 'hide'){
51 toggleMARCdocLinks(false);
53 toggleMARCdocLinks(true);
56 $("#marcDocsSelect").click(function(){
57 if($.cookie("marcdocs_[% borrowernumber | html %]") == 'hide'){
58 toggleMARCdocLinks(true);
60 toggleMARCdocLinks(false);
64 /* check cookie to hide/show marc tags*/
65 var marctags_cookie = $.cookie("marctags_[% borrowernumber | html %]");
66 if( marctags_cookie == 'hide'){
67 toggleMARCTagLinks(false);
68 } else if( marctags_cookie == 'show'){
69 toggleMARCTagLinks(true)
71 [% UNLESS Koha.Preference("hide_marc") %]
72 toggleMARCTagLinks(true)
74 toggleMARCTagLinks(false);
78 $("#marcTagsSelect").click(function(){
79 if( $.cookie("marctags_[% borrowernumber | html %]") == 'hide'){
80 toggleMARCTagLinks(true)
82 toggleMARCTagLinks(false);
86 [%# Only ask for a confirmation if it is an edit %]
87 $("#z3950search").click(function(){
89 if (confirm(_("Please note that this external search could replace the current record."))){
97 $("#saverecord").click(function(){
98 $(".btn-group").removeClass("open");
103 $("#saveandview").click(function(){
104 $(".btn-group").removeClass("open");
109 $("#saveanditems").click(function(){
110 $(".btn-group").removeClass("open");
114 $("#saveandcontinue").click(function(){
115 $(".btn-group").removeClass("open");
116 var tab = $("#addbibliotabs li.ui-tabs-active:first a").attr('href');
117 tab = tab.replace('#', '');
118 $("#current_tab").val(tab);
119 redirect("just_save", tab);
123 $( '#switcheditor' ).click( function() {
124 var breedingid = [% breedingid || "null" | html %];
126 if ( !confirm( breedingid ? _("This record cannot be transferred to the advanced editor. Continue?") : _("Any changes will not be saved. Continue?") ) ) return false;
128 $.cookie( 'catalogue_editor_[% logged_in_user.borrowernumber | html %]', 'advanced', { expires: 365, path: '/' } );
130 var biblionumber = [% biblionumber || "null" | html %];
132 if ( biblionumber ) {
133 window.location = '/cgi-bin/koha/cataloguing/editor.pl#catalog/' + biblionumber;
135 window.location = '/cgi-bin/koha/cataloguing/editor.pl';
140 $(".change-framework").on("click", function(){
141 var frameworkcode = $(this).data("frameworkcode");
142 $("#frameworkcode").val( frameworkcode );
146 $(".toolbar-tabs a").on("click",function(e){
148 selectTab( $(this ) );
151 $(".tag_anchor").on("click", function(e){
153 var toolbar_height = $("#toolbar").outerHeight();
154 $(".tag_anchor").removeClass("selected");
155 $(this).addClass("selected");
156 var link = this.href;
157 var linkid = link.substring( link.indexOf("#") + 1 );
158 var dest = $("#" + linkid );
159 var yoffset = dest.offset();
160 window.scrollTo( 0, yoffset.top - toolbar_height - 20 );
165 function selectTab( tablink ){
166 $(".toolbar-tabs li").removeClass("selected");
167 tablink.parent().addClass("selected");
168 var tabid = tablink.data("tabid");
169 $('#addbibliotabs').selectTabByID("#tab" + tabid + "XX");
170 $(".tag_anchors").removeClass("tab_selected").hide();
171 $(".tag_anchors_" + tabid ).addClass("tab_selected").show();
174 function redirect(dest){
175 $("#redirect").attr("value",dest);
179 [% IF ( CAN_user_editcatalogue_edit_items ) %]
180 var onOption = function () {
185 function confirmnotdup(redirect){
186 $("#confirm_not_duplicate").attr("value","1");
187 $("#redirect").attr("value",redirect);
191 function Dopop(link,i) {
192 defaultvalue = document.getElementById(i).value;
193 window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
197 * this function open a popup to search on z3950 server.
199 function PopupZ3950() {
200 var strQuery = GetZ3950Terms();
202 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');
206 function PopupMARCFieldDoc(field) {
207 [% IF Koha.Preference('marcfielddocurl') %]
208 var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','"') | html %]";
209 docurl = docurl.replace("{MARC}", "[% marcflavour | html %]");
210 docurl = docurl.replace("{FIELD}", ""+field);
211 docurl = docurl.replace("{LANG}", "[% lang | html %]");
213 [% ELSIF ( marcflavour == 'MARC21' ) %]
214 _MARC21FieldDoc(field);
215 [% ELSIF ( marcflavour == 'UNIMARC' ) %]
216 _UNIMARCFieldDoc(field);
220 function _MARC21FieldDoc(field) {
222 window.open("http://www.loc.gov/marc/bibliographic/bdleader.html");
223 } else if (field >= 90 && field <= 99 ){
224 window.open("http://www.loc.gov/marc/bibliographic/bd09x.html");
225 } else if (field >= 590 && field <= 599 ){
226 window.open("http://www.loc.gov/marc/bibliographic/bd59x.html");
227 } else if (field >= 690 && field <= 699 ){
228 window.open("http://www.loc.gov/marc/bibliographic/bd69x.html");
229 } else if (field < 900) {
230 window.open("http://www.loc.gov/marc/bibliographic/bd" + ("000"+field).slice(-3) + ".html");
232 window.open("http://www.loc.gov/marc/bibliographic/bd9xx.html");
236 function _UNIMARCFieldDoc(field) {
237 /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
238 seems to be the only version available that can be linked to per tag. More recent
239 versions of the UNIMARC standard are available on the IFLA website only as
244 url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
246 var first = field.substring(0,1);
247 url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
248 if (first == 0) url = url + "b";
250 ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
257 * Functions to hide/show marc docs and tags links
260 function toggleMARCdocLinks(flag){
262 $(".marcdocs").show();
263 $.cookie("marcdocs_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
264 $("#marcDocsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
266 $(".marcdocs").hide();
267 $.cookie("marcdocs_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
268 $("#marcDocsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
272 function toggleMARCTagLinks(flag){
275 $(".subfieldcode").show();
276 $.cookie("marctags_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
277 $("#marcTagsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
280 $(".subfieldcode").hide();
281 $.cookie("marctags_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
282 $("#marcTagsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
287 * check if mandatory subfields are written
289 function AreMandatoriesNotOk(){
290 var mandatories = new Array();
291 var mandatoriesfields = new Array();
292 var tab = new Array();
293 var label = new Array();
295 var tabflag= new Array();
296 [% FOREACH BIG_LOO IN BIG_LOOP %]
297 [% FOREACH innerloo IN BIG_LOO.innerloop %]
298 [% IF ( innerloo.mandatory ) %]
299 mandatoriesfields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
301 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
302 [% IF ( subfield_loo.mandatory ) %]mandatories.push("[% subfield_loo.id | html %]");
303 tab.push("[% BIG_LOO.number | html %]");
304 label.push("[% subfield_loo.marc_lib | $raw %]");
309 var StrAlert = _("Can't save this record because the following field aren't filled:");
311 for(var i=0,len=mandatories.length; i<len ; i++){
312 var tag=mandatories[i].substr(4,3);
313 var subfield=mandatories[i].substr(17,1);
314 var tagnumber=mandatories[i].substr(19,mandatories[i].lastIndexOf("_")-19);
315 if (tabflag[tag+subfield+tagnumber] == null) {
316 tabflag[tag+subfield+tagnumber]=new Array();
317 tabflag[tag+subfield+tagnumber][0]=0;
319 if( tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(mandatories[i]) != null && ! document.getElementById(mandatories[i]).value || document.getElementById(mandatories[i]) == null)){
320 tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
321 document.getElementById(mandatories[i]).setAttribute('class','input_marceditor noEnterSubmit subfield_not_filled');
322 $('#' + mandatories[i]).focus();
323 tabflag[tag+subfield+tagnumber][1]=label[i];
324 tabflag[tag+subfield+tagnumber][2]=tab[i];
326 tabflag[tag+subfield+tagnumber][0] = 1;
329 for (var tagsubfieldid in tabflag){
330 if (tabflag[tagsubfieldid][0]==0){
331 var tag=tagsubfieldid.substr(0,3);
332 var subfield=tagsubfieldid.substr(3,1);
333 StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
334 //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n";
339 /* Check for mandatories field(not subfields) */
340 for(var i=0,len=mandatoriesfields.length; i<len; i++){
342 arr = mandatoriesfields[i];
343 divid = "tag_" + arr[0] + "_" + arr[1];
344 varegexp = new RegExp("^tag_" + arr[0] + "_code_");
346 if(parseInt(arr[0]) >= 10){
347 elem = document.getElementById(divid);
348 eleminputs = elem.getElementsByTagName('input');
350 for(var j=0,len2=eleminputs.length; j<len2; j++){
352 if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
353 inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
355 for( var k=0; k<len2; k++){
356 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
361 elemselect = elem.getElementsByTagName('select');
362 for( var k=0; k<elemselect.length; k++){
363 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
370 elemtextareas = elem.getElementsByTagName('textarea');
371 for(var j=0,len2=elemtextareas.length; j<len2; j++){
372 // this bit assumes that the only textareas in this context would be for subfields
373 if (elemtextareas[j].value) {
383 StrAlert += "\t* " + _("Field %s is mandatory, at least one of its subfields must be filled.").format(arr[0]) + "\n";
400 var StrAlert = AreMandatoriesNotOk();
402 var StrWarning = AreImportantsNotOk();
404 var r=confirm(StrWarning);
418 * check if important subfields are written
420 function AreImportantsNotOk(){
421 var importants = new Array();
422 var importantsfields = new Array();
423 var tab = new Array();
424 var label = new Array();
426 var tabflag= new Array();
427 [% FOREACH BIG_LOO IN BIG_LOOP %]
428 [% FOREACH innerloo IN BIG_LOO.innerloop %]
429 [% IF ( innerloo.important ) %]
430 importantsfields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
432 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
433 [% IF ( subfield_loo.important ) %]importants.push("[% subfield_loo.id | html %]");
434 tab.push("[% BIG_LOO.number | html %]");
435 label.push("[% subfield_loo.marc_lib | $raw %]");
440 var StrWarning = _("A few important fields are not filled:");
441 StrWarning += "\n\n";
442 for(var i=0,len=importants.length; i<len ; i++){
443 var tag=importants[i].substr(4,3);
444 var subfield=importants[i].substr(17,1);
445 var tagnumber=importants[i].substr(19,importants[i].lastIndexOf("_")-19);
446 if (tabflag[tag+subfield+tagnumber] == null) {
447 tabflag[tag+subfield+tagnumber]=new Array();
448 tabflag[tag+subfield+tagnumber][0]=0;
450 if( tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(importants[i]) != null && ! document.getElementById(importants[i]).value || document.getElementById(importants[i]) == null)){
451 tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
452 document.getElementById(importants[i]).setAttribute('class','input_marceditor noEnterSubmit important_subfield_not_filled');
453 $('#' + importants[i]).focus();
454 tabflag[tag+subfield+tagnumber][1]=label[i];
455 tabflag[tag+subfield+tagnumber][2]=tab[i];
457 tabflag[tag+subfield+tagnumber][0] = 1;
460 for (var tagsubfieldid in tabflag){
461 if (tabflag[tagsubfieldid][0]==0){
462 var tag=tagsubfieldid.substr(0,3);
463 var subfield=tagsubfieldid.substr(3,1);
464 StrWarning += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
465 //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n";
470 /* Check for importants field(not subfields) */
471 for(var i=0,len=importantsfields.length; i<len; i++){
473 arr = importantsfields[i];
474 divid = "tag_" + arr[0] + "_" + arr[1];
475 varegexp = new RegExp("^tag_" + arr[0] + "_code_");
477 if(parseInt(arr[0]) >= 10){
478 elem = document.getElementById(divid);
479 eleminputs = elem.getElementsByTagName('input');
480 for(var j=0,len2=eleminputs.length; j<len2; j++){
482 if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
483 inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
485 for( var k=0; k<len2; k++){
486 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
491 elemselect = elem.getElementsByTagName('select');
492 for( var k=0; k<elemselect.length; k++){
493 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
500 elemtextareas = elem.getElementsByTagName('textarea');
501 for(var j=0,len2=elemtextareas.length; j<len2; j++){
502 // this bit assumes that the only textareas in this context would be for subfields
503 if (elemtextareas[j].value) {
513 StrWarning += "\t* " + _("Field %s is important, at least one of its subfields must be filled.").format(arr[0]) + "\n";
517 StrWarning += "\n" + _("Are you sure you want to save?");
527 * check if z3950 mandatories are set or not
529 function GetZ3950Terms(){
530 var frameworkcode = document.getElementById("frameworkcode").value;
531 var strQuery = "&frameworkcode=" + frameworkcode;
532 var mandatories = new Array();
533 var mandatories_label = new Array();
534 [% FOREACH BIG_LOO IN BIG_LOOP %]
535 [% FOREACH innerloo IN BIG_LOO.innerloop %]
536 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
537 [% IF ( subfield_loo.z3950_mandatory ) %]
538 mandatories.push("[% subfield_loo.id | html %]");
539 mandatories_label.push("[% subfield_loo.z3950_mandatory | html %]");
545 for(var i=0,len=mandatories.length; i<len ; i++){
546 var field_value = document.getElementById(mandatories[i]).value;
548 strQuery += "&"+mandatories_label[i]+"="+field_value;
554 function Changefwk() {
556 f.op.value = "[% op | html %]";
557 f.biblionumber.value = "[% biblionumberdata | html %]";
558 f.changed_framework.value = "changed";
563 [% Asset.css("css/addbiblio.css") | $raw %]
565 [% INCLUDE 'select2.inc' %]
567 $(document).ready(function() {
568 $('.subfield_line select').select2();
573 <body id="cat_addbiblio" class="cat">
576 <div>Loading, please wait...</div>
579 [% INCLUDE 'header.inc' %]
581 <div id="breadcrumbs">
582 <a href="/cgi-bin/koha/mainpage.pl">Home</a> ›
583 <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> ›
584 [% IF ( biblionumber ) %]
585 Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])
591 <div class="main container-fluid">
593 <div class="col-md-10 col-md-offset-1">
596 [% IF ( biblionumber ) %]
597 Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])
599 Add MARC record [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]
603 [% UNLESS ( number ) %]
604 <!-- show duplicate warning on tab 0 only -->
605 [% IF ( duplicatebiblionumber ) %]
606 <div class="dialog alert">
607 <h3>Duplicate record suspected</h3>
608 <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 %]&popup=1', 'DuplicateBiblio','800','600'); return false;">[% duplicatetitle | html %] <i class="fa fa-window-restore"></i></a> ?</p>
609 [% IF ( CAN_user_editcatalogue_edit_items ) %]
610 <form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
611 <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
612 <button type="submit" class="new"><i class="fa fa-fw fa-pencil"></i> Yes, edit existing items</button>
615 <form action="/cgi-bin/koha/catalogue/detail.pl" method="get">
616 <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
617 <input type="submit" value="Yes: View existing items" />
620 <form action="/cgi-bin/koha/cataloguing/addbiblio.pl" method="get">
621 [% IF ( CAN_user_editcatalogue_edit_items ) %]
622 <button type="submit" class="new" onclick="confirmnotdup('items'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>
624 <button type="submit" class="new" onclick="confirmnotdup('view'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>
627 </div> <!-- /.dialog.alert -->
628 [% END # /IF duplicatebiblionumber %]
629 [% END # /UNLESS number %]
633 opener.document.forms['f'].biblionumber.value=[% biblionumber | html %];
634 opener.document.forms['f'].title.value='[% title | html %]';
638 <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
639 <input type="hidden" value="[% IF ( biblionumber ) %]view[% ELSE %]items[% END %]" id="redirect" name="redirect" />
640 <input type="hidden" value="" id="current_tab" name="current_tab" />
641 <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
644 <div id="toolbar" class="btn-toolbar">
645 [% IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
646 [% IF (circborrowernumber) %][%# fast cataloging must lead to items %]
647 <!-- Action is under fast cataloging - Save button redirecting to items -->
648 <div class="btn-group"><a href="#" id="saveanditems" class="btn btn-default"><i class="fa fa-save"></i> Save</a></div>
650 <!-- Not using fast cataloging - Display split menu -->
651 <div class="btn-group">
652 <button class="btn btn-default" id="saverecord"><i class="fa fa-save"></i> Save</button>
653 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
654 <span class="caret"></span>
656 <ul class="dropdown-menu">
657 <li><a id="saveandview" href="#">Save and view record</a></li>
658 <li><a id="saveanditems" href="#">Save and edit items</a></li>
659 <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
664 <!-- User cannot edit items - single button redirecting to view -->
665 <div class="btn-group"><a href="#" id="saveandview" class="btn btn-default"><i class="fa fa-save"></i> Save</a></div>
666 [% END # /IF CAN_user_editcatalogue_edit_items %]
668 [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
669 <div class="btn-group"><a class="btn btn-default" href="#" id="z3950search"><i class="fa fa-search"></i> Z39.50/SRU search</a></div>
672 <div class="btn-group">
673 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cog"></i> Settings <span class="caret"></span></button>
674 <ul id="settings-menu" class="dropdown-menu">
675 [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 && CAN_user_editcatalogue_advanced_editor %]
676 <li><a href="#" id="switcheditor">Switch to advanced editor</a></li>
678 [% IF marcflavour != 'NORMARC' AND NOT advancedMARCEditor %]
680 <a href="#" id="marcDocsSelect"><i class="fa fa-check-square-o"></i> Show MARC tag documentation links</a>
682 <a href="#" id="marcTagsSelect"><i class="fa fa-check-square-o"></i> Show tags</a>
685 <li class="dropdown-header">Change framework</li>
687 <a href="#" class="change-framework" data-frameworkcode="">
688 [% IF ( frameworkcode ) %]
689 <i class="fa fa-fw"> </i>
691 <i class="fa fa-fw fa-check"></i>
696 [% FOREACH framework IN frameworks%]
698 <a href="#" class="change-framework" data-frameworkcode="[% framework.frameworkcode | html %]">
699 [% IF framework.frameworkcode == frameworkcode %]
700 <i class="fa fa-fw fa-check"></i>
702 <i class="fa fa-fw"> </i>
704 [% framework.frameworktext | html %]
708 </ul> <!-- /#settings-menu -->
709 </div> <!-- /.btn-group -->
710 [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
711 [% IF (biblionumber) %]
712 [% IF ( BiblioDefaultViewmarc ) %]
713 <div class="btn-group">
714 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
716 [% ELSIF ( BiblioDefaultViewlabeled_marc ) %]
717 <div class="btn-group">
718 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
720 [% ELSIF ( BiblioDefaultViewisbd ) %]
721 <div class="btn-group">
722 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
725 <div class="btn-group">
726 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
730 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/cataloguing/addbooks.pl">Cancel</a>
732 [% END # /UNLESS circborrowernumber %]
733 <div class="toolbar-tabs-container">
734 [% IF ( BIG_LOOP.size > 1 ) %]
735 <ul class="toolbar-tabs">
736 [%- FOREACH BIG_LOO IN BIG_LOOP -%]
738 <li class="selected">
742 <a data-tabid="[% BIG_LOO.number | html %]" href="#tab[% BIG_LOO.number | html %]XX">[% BIG_LOO.number | html %]</a>
747 <ul class="tag_anchors_list">
748 [% FOREACH BIG_LOO IN BIG_LOOP %]
749 [% IF loop.first %][% SET tab_selected = "tab_selected" %][% ELSE %][% SET tab_selected = "" %][% END %]
750 [% FOREACH innerloo IN BIG_LOO.innerloop %]
751 [% IF ( innerloo.tag ) %]
752 <li class="tag_anchors tag_anchors_[% BIG_LOO.number | html %] [% tab_selected | html %]">
753 <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>
760 </div> <!-- /#toolbar.btn-toolbar -->
762 [% IF bib_doesnt_exist %]
763 <div class="dialog alert">
764 The record you are trying to edit doesn't exist.<br>
765 <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>.
770 <input type="hidden" name="mode" value="popup" />
772 <input type="hidden" name="op" value="addbiblio" />
773 <input type="hidden" id="frameworkcode" name="frameworkcode" value="[% frameworkcode | html %]" />
774 <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
775 <input type="hidden" name="breedingid" value="[% breedingid | html %]" />
776 <input type="hidden" name="changed_framework" value="" />
778 <div id="addbibliotabs" class="toptabs numbered">
780 [% FOREACH BIG_LOO IN BIG_LOOP %]
781 <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
785 [% FOREACH BIG_LOO IN BIG_LOOP %]
786 <div id="tab[% BIG_LOO.number | html %]XX">
788 [% IF ( BIG_LOOP.size > 1 ) %]
789 <h3>Section [% BIG_LOO.number | html %]</h3>
792 [% FOREACH innerloo IN BIG_LOO.innerloop %]
793 [% IF ( innerloo.tag ) %]
794 [% IF innerloo.tag != previous %]
795 [% IF previous != "" %]
798 [% previous = innerloo.tag %]
799 [% IF ( innerloo.repeatable ) %]
800 <ul class="sortable_field">
805 [% IF ( innerloo.repeatable ) %]
806 <li class="tag sortable_tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
808 <li class="tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
810 <div class="tag_title" id="div_indicator_tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
811 [% IF advancedMARCEditor %]
812 <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>
814 <span class="tagnum" title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span>
815 [% IF marcflavour != 'NORMARC' %]<a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag | html %]'); return false;"> ?</a>[% END %]
818 [% IF ( innerloo.fixedfield ) %]
821 class="indicator flat"
822 style="display:none;"
823 name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
826 value="[% innerloo.indicator1 | html %]" />
829 class="indicator flat"
830 style="display:none;"
831 name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
834 value="[% innerloo.indicator2 | html %]" />
838 class="indicator flat"
839 name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
842 value="[% innerloo.indicator1 | html %]" />
845 class="indicator flat"
846 name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
849 value="[% innerloo.indicator2 | html %]" />
850 [% END # /IF innerloo.fixedfield %] -
852 [% UNLESS advancedMARCEditor %]
853 <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>
856 <span class="field_controls">
857 [% IF ( innerloo.repeatable ) %]
858 <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">
859 <img src="[% interface | html %]/[% theme | html %]/img/repeat-tag.png" alt="Repeat this Tag" />
862 <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Delete this Tag">
863 <img src="[% interface | html %]/[% theme | html %]/img/delete-tag.png" alt="Delete this Tag" />
865 </span> <!-- /.field_controls -->
866 </div> <!-- /div.tag_title -->
868 <ul class="sortable_subfield">
869 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
870 <!-- One line on the marc editor -->
871 <li class="subfield_line" style="[% subfield_loo.visibility | html %]" id="subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]">
872 [% UNLESS advancedMARCEditor %]
873 [% IF ( subfield_loo.fixedfield ) %]
874 <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">
876 <label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield">
880 <span class="subfieldcode">
882 title="[% subfield_loo.marc_lib | $raw %]"
883 style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
884 name="tag_[% subfield_loo.tag | html %]_code_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]"
885 value="[% subfield_loo.subfield | html %]"
892 [% UNLESS advancedMARCEditor %]
893 [% IF ( subfield_loo.mandatory ) %]
894 <span class="subfield subfield_mandatory">
895 [% ELSIF ( subfield_loo.important ) %]
896 <span class="subfield subfield_important">
898 <span class="subfield">
900 [% subfield_loo.marc_lib | $raw %]
905 [% SET mv = subfield_loo.marc_value %]
906 [% IF ( mv.type == 'text' ) %]
907 [% IF ( mv.readonly == 1 ) %]
908 <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" />
910 <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 -%]" />
913 [% IF ( mv.authtype ) %]
914 <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>
916 [% ELSIF ( mv.type == 'text_complex' ) %]
917 <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 -%]" />
918 <span class="subfield_controls">
920 <span class="buttonDot tag_editor disabled" tabindex="-1" title="Field autofilled by plugin"></span>
922 <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
925 [% mv.javascript | $raw %]
926 [% ELSIF ( mv.type == 'hidden' ) %]
927 <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 -%]" />
928 [% ELSIF ( mv.type == 'textarea' ) %]
929 <textarea cols="70" rows="4" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" class="input_marceditor" tabindex="1">[%- mv.value | html -%]</textarea>
930 [% ELSIF ( mv.type == 'select' ) %]
931 <select name="[%- mv.name | html -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id | html -%]">
932 [% FOREACH aval IN mv.values %]
933 [% IF aval == mv.default %]
934 <option value="[%- aval | html -%]" selected="selected">[%- mv.labels.$aval | html -%]</option>
936 <option value="[%- aval | html -%]">[%- mv.labels.$aval | html -%]</option>
940 [% END # /IF (mv.type...) %]
941 [% IF ( subfield_loo.mandatory ) %]
942 <span class="required">Required</span>
943 [% ELSIF ( subfield_loo.important ) %]
944 <span class="important">Important</span>
946 <span class="subfield_controls">
947 [% IF ( subfield_loo.repeatable ) %]
948 <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;">
949 <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
951 <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;">
952 <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
956 </li> <!-- /.subfield_line -->
957 <!-- End of the line -->
958 [% END # /FOREACH subfield_loop %]
959 </ul> <!-- /.sortable_subfield -->
960 </li> <!-- /.tag.clearfix -->
961 [% END %]<!-- if innerloo.tag -->
962 [% END # /FOREACH BIG_LOO.innerloop %]
963 </ul> <!-- /.sortable_field -->
964 </div> <!-- /#tabXXX -->
965 [% END # /FOREACH BIG_LOOP %]
966 </div><!-- /#addbibliotabs -->
968 [%# Fields for fast cataloging %]
969 <input type="hidden" name="barcode" value="[% barcode | html %]" />
970 <input type="hidden" name="branch" value="[% branch | html %]" />
971 <input type="hidden" name="circborrowernumber" value="[% circborrowernumber | html %]" />
972 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
973 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
974 [%# End of fields for fast cataloging %]
975 </form> <!-- /name=f -->
976 </div> <!-- /.col-md-10.col-md-offset-1 -->
977 </div> <!-- /.row -->
979 [% INCLUDE 'intranet-bottom.inc' %]