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( Cookies.get("marcdocs_[% borrowernumber | html %]") == 'hide'){
51 toggleMARCdocLinks(false);
53 toggleMARCdocLinks(true);
56 $("#marcDocsSelect").click(function(){
57 if( Cookies.get("marcdocs_[% borrowernumber | html %]") == 'hide'){
58 toggleMARCdocLinks(true);
60 toggleMARCdocLinks(false);
64 /* check cookie to hide/show marc tags*/
65 var marctags_cookie = Cookies.get("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( Cookies.get("marctags_[% borrowernumber | html %]") == 'hide'){
80 toggleMARCTagLinks(true)
82 toggleMARCTagLinks(false);
86 $("#z3950search").click(function(){
90 $("#saverecord").click(function(){
91 $(".btn-group").removeClass("open");
96 $("#saveandview").click(function(){
97 $(".btn-group").removeClass("open");
102 $("#saveanditems").click(function(){
103 $(".btn-group").removeClass("open");
107 $("#saveandcontinue").click(function(){
108 $(".btn-group").removeClass("open");
109 var tab = $("#addbibliotabs li.ui-tabs-active:first a").attr('href');
110 tab = tab.replace('#', '');
111 $("#current_tab").val(tab);
112 redirect("just_save", tab);
116 $( '#switcheditor' ).click( function() {
117 var breedingid = [% breedingid || "null" | html %];
119 if ( !confirm( breedingid ? _("This record cannot be transferred to the advanced editor. Continue?") : _("Any changes will not be saved. Continue?") ) ) return false;
121 Cookies.set( 'catalogue_editor_[% logged_in_user.borrowernumber | html %]', 'advanced', { expires: 365, path: '/' } );
123 var biblionumber = [% biblionumber || "null" | html %];
125 if ( biblionumber ) {
126 window.location = '/cgi-bin/koha/cataloguing/editor.pl#catalog/' + biblionumber;
128 window.location = '/cgi-bin/koha/cataloguing/editor.pl';
133 $(".change-framework").on("click", function(){
134 var frameworkcode = $(this).data("frameworkcode");
135 $("#frameworkcode").val( frameworkcode );
139 $(".toolbar-tabs a").on("click",function(e){
141 selectTab( $(this ) );
144 $(".tag_anchor").on("click", function(e){
146 var toolbar_height = $("#toolbar").outerHeight();
147 $(".tag_anchor").removeClass("selected");
148 $(this).addClass("selected");
149 var link = this.href;
150 var linkid = link.substring( link.indexOf("#") + 1 );
151 var dest = $("#" + linkid );
152 var yoffset = dest.offset();
153 window.scrollTo( 0, yoffset.top - toolbar_height - 20 );
158 function selectTab( tablink ){
159 $(".toolbar-tabs li").removeClass("selected");
160 tablink.parent().addClass("selected");
161 var tabid = tablink.data("tabid");
162 $('#addbibliotabs').selectTabByID("#tab" + tabid + "XX");
163 $(".tag_anchors").removeClass("tab_selected").hide();
164 $(".tag_anchors_" + tabid ).addClass("tab_selected").show();
167 function redirect(dest){
168 $("#redirect").attr("value",dest);
172 [% IF ( CAN_user_editcatalogue_edit_items ) %]
173 var onOption = function () {
178 function confirmnotdup(redirect){
179 $("#confirm_not_duplicate").attr("value","1");
180 $("#redirect").attr("value",redirect);
184 function Dopop(link,i) {
185 defaultvalue = document.getElementById(i).value;
186 window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
190 * this function open a popup to search on z3950 server.
192 function PopupZ3950() {
193 var strQuery = GetZ3950Terms();
195 window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber | html %]"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
199 function PopupMARCFieldDoc(field) {
200 [% IF Koha.Preference('marcfielddocurl') %]
201 var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','"') | html %]";
202 docurl = docurl.replace("{MARC}", "[% marcflavour | html %]");
203 docurl = docurl.replace("{FIELD}", ""+field);
204 docurl = docurl.replace("{LANG}", "[% lang | html %]");
206 [% ELSIF ( marcflavour == 'MARC21' ) %]
207 _MARC21FieldDoc(field);
208 [% ELSIF ( marcflavour == 'UNIMARC' ) %]
209 _UNIMARCFieldDoc(field);
213 function _MARC21FieldDoc(field) {
215 window.open("http://www.loc.gov/marc/bibliographic/bdleader.html");
216 } else if (field >= 90 && field <= 99 ){
217 window.open("http://www.loc.gov/marc/bibliographic/bd09x.html");
218 } else if (field >= 590 && field <= 599 ){
219 window.open("http://www.loc.gov/marc/bibliographic/bd59x.html");
220 } else if (field >= 690 && field <= 699 ){
221 window.open("http://www.loc.gov/marc/bibliographic/bd69x.html");
222 } else if (field < 900) {
223 window.open("http://www.loc.gov/marc/bibliographic/bd" + ("000"+field).slice(-3) + ".html");
225 window.open("http://www.loc.gov/marc/bibliographic/bd9xx.html");
229 function _UNIMARCFieldDoc(field) {
230 /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
231 seems to be the only version available that can be linked to per tag. More recent
232 versions of the UNIMARC standard are available on the IFLA website only as
237 url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
239 var first = field.substring(0,1);
240 url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
241 if (first == 0) url = url + "b";
243 ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
250 * Functions to hide/show marc docs and tags links
253 function toggleMARCdocLinks(flag){
255 $(".marcdocs").show();
256 Cookies.set("marcdocs_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
257 $("#marcDocsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
259 $(".marcdocs").hide();
260 Cookies.set("marcdocs_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
261 $("#marcDocsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
265 function toggleMARCTagLinks(flag){
268 $(".subfieldcode").show();
269 Cookies.set("marctags_[% borrowernumber | html %]",'show', { path: "/", expires: 365 });
270 $("#marcTagsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
273 $(".subfieldcode").hide();
274 Cookies.set("marctags_[% borrowernumber | html %]",'hide', { path: "/", expires: 365 });
275 $("#marcTagsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
280 * check if mandatory/important subfields are written
281 * @param mandatory true to check for mandatories, false for importants
283 function AreFieldsNotOk (mandatory = true) {
284 var fields = new Array();
285 var subfields = new Array();
286 var tab = new Array();
287 var label = new Array();
289 var tabflag= new Array();
291 var notFilledClass = "subfield_not_filled";
294 [% FOREACH BIG_LOO IN BIG_LOOP %]
295 [% FOREACH innerloo IN BIG_LOO.innerloop %]
296 [% IF ( innerloo.mandatory ) %]
297 fields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
299 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
300 [% IF ( subfield_loo.mandatory ) %]subfields.push("[% subfield_loo.id | html %]");
301 tab.push("[% BIG_LOO.number | html %]");
302 label.push("[% subfield_loo.marc_lib | $raw %]");
307 StrAlert = _("Can't save this record because the following field aren't filled:");
309 [% FOREACH BIG_LOO IN BIG_LOOP %]
310 [% FOREACH innerloo IN BIG_LOO.innerloop %]
311 [% IF ( innerloo.important ) %]
312 fields.push(new Array("[% innerloo.tag | html %]","[% innerloo.index | html %][% innerloo.random | html %]","[% innerloo.index | html %]"));
314 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
315 [% IF ( subfield_loo.important ) %]subfields.push("[% subfield_loo.id | html %]");
316 tab.push("[% BIG_LOO.number | html %]");
317 label.push("[% subfield_loo.marc_lib | $raw %]");
322 StrAlert = _("A few important fields are not filled:");
323 notFilledClass = "important_subfield_not_filled";
327 for(var i=0,len=subfields.length; i<len ; i++){
328 var tag=subfields[i].substr(4,3);
329 var subfield=subfields[i].substr(17,1);
330 var tagnumber=subfields[i].substr(19,subfields[i].lastIndexOf("_")-19);
331 if (tabflag[tag+subfield+tagnumber] == null) {
332 tabflag[tag+subfield+tagnumber]=new Array();
333 tabflag[tag+subfield+tagnumber][0]=0;
335 if( tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(subfields[i]) != null && ! document.getElementById(subfields[i]).value || document.getElementById(subfields[i]) == null)){
336 tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
338 var elt = document.getElementById(subfields[i]);
339 if ( elt.nodeName == 'SELECT' ) {
340 $(elt).siblings('.select2').find("span[role='combobox']").addClass(notFilledClass);
342 elt.setAttribute('class','input_marceditor noEnterSubmit ' + notFilledClass);
344 $('#' + subfields[i]).focus();
345 tabflag[tag+subfield+tagnumber][1]=label[i];
346 tabflag[tag+subfield+tagnumber][2]=tab[i];
348 tabflag[tag+subfield+tagnumber][0] = 1;
351 for (var tagsubfieldid in tabflag){
352 if (tabflag[tagsubfieldid][0]==0){
353 var tag=tagsubfieldid.substr(0,3);
354 var subfield=tagsubfieldid.substr(3,1);
355 StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
356 //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n";
361 /* Check for mandatories/importants field(not subfields) */
362 for(var i=0,len=fields.length; i<len; i++){
365 divid = "tag_" + arr[0] + "_" + arr[1];
366 varegexp = new RegExp("^tag_" + arr[0] + "_code_");
368 if(parseInt(arr[0]) >= 10){
369 elem = document.getElementById(divid);
370 eleminputs = elem.getElementsByTagName('input');
372 for(var j=0,len2=eleminputs.length; j<len2; j++){
374 if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
375 inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
377 for( var k=0; k<len2; k++){
378 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
383 elemselect = elem.getElementsByTagName('select');
384 for( var k=0; k<elemselect.length; k++){
385 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
392 elemtextareas = elem.getElementsByTagName('textarea');
393 for(var j=0,len2=elemtextareas.length; j<len2; j++){
394 // this bit assumes that the only textareas in this context would be for subfields
395 if (elemtextareas[j].value) {
407 StrAlert += _("Field %s is mandatory, at least one of its subfields must be filled.").format(arr[0]);
409 StrAlert += _("Field %s is important, at least one of its subfields must be filled.").format(arr[0]);
428 var StrAlert = AreFieldsNotOk();
430 var StrWarning = AreFieldsNotOk(false);
432 StrWarning += "\n" + _("Are you sure you want to save?");
433 var r=confirm(StrWarning);
447 * check if z3950 mandatories are set or not
449 function GetZ3950Terms(){
450 var frameworkcode = document.getElementById("frameworkcode").value;
451 var strQuery = "&frameworkcode=" + encodeURIComponent(frameworkcode);
452 var mandatories = new Array();
453 var mandatories_label = new Array();
454 [% FOREACH BIG_LOO IN BIG_LOOP %]
455 [% FOREACH innerloo IN BIG_LOO.innerloop %]
456 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
457 [% IF ( subfield_loo.z3950_mandatory ) %]
458 mandatories.push("[% subfield_loo.id | html %]");
459 mandatories_label.push("[% subfield_loo.z3950_mandatory | html %]");
465 for(var i=0,len=mandatories.length; i<len ; i++){
466 var field_value = document.getElementById(mandatories[i]).value;
468 strQuery += "&"+encodeURIComponent(mandatories_label[i])+"="+encodeURIComponent(field_value);
474 function Changefwk() {
476 f.op.value = "[% op | html %]";
477 f.biblionumber.value = "[% biblionumberdata | html %]";
478 f.changed_framework.value = "changed";
483 [% Asset.css("css/addbiblio.css") | $raw %]
485 [% INCLUDE 'select2.inc' %]
487 $(document).ready(function() {
488 $('.subfield_line select').select2();
493 <body id="cat_addbiblio" class="cat">
496 <div>Loading, please wait...</div>
499 [% INCLUDE 'header.inc' %]
501 <div id="breadcrumbs">
502 <a href="/cgi-bin/koha/mainpage.pl">Home</a> ›
503 <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> ›
504 [% IF ( biblionumber ) %]
505 Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])
511 <div class="main container-fluid">
513 <div class="col-md-10 col-md-offset-1">
516 [% IF ( biblionumber ) %]
517 Editing <em>[% title | html %]</em> (Record number [% biblionumber | html %])
519 Add MARC record [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]
523 [% UNLESS ( number ) %]
524 <!-- show duplicate warning on tab 0 only -->
525 [% IF ( duplicatebiblionumber ) %]
526 <div class="dialog alert">
527 <h3>Duplicate record suspected</h3>
528 <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>
529 [% IF ( CAN_user_editcatalogue_edit_items ) %]
530 <form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
531 <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
532 <button type="submit" class="new"><i class="fa fa-fw fa-pencil"></i> Yes, edit existing items</button>
535 <form action="/cgi-bin/koha/catalogue/detail.pl" method="get">
536 <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber | html %]" />
537 <input type="submit" value="Yes: View existing items" />
540 <form action="/cgi-bin/koha/cataloguing/addbiblio.pl" method="get">
541 [% IF ( CAN_user_editcatalogue_edit_items ) %]
542 <button type="submit" class="new" onclick="confirmnotdup('items'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>
544 <button type="submit" class="new" onclick="confirmnotdup('view'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>
547 </div> <!-- /.dialog.alert -->
548 [% END # /IF duplicatebiblionumber %]
549 [% END # /UNLESS number %]
553 opener.document.forms['f'].biblionumber.value=[% biblionumber | html %];
554 opener.document.forms['f'].title.value='[% title | html %]';
558 <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
559 <input type="hidden" value="[% IF ( biblionumber ) %]view[% ELSE %]items[% END %]" id="redirect" name="redirect" />
560 <input type="hidden" value="" id="current_tab" name="current_tab" />
561 <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
564 <div id="toolbar" class="btn-toolbar">
565 [% IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
566 [% IF (circborrowernumber) %][%# fast cataloging must lead to items %]
567 <!-- Action is under fast cataloging - Save button redirecting to items -->
568 <div class="btn-group"><a href="#" id="saveanditems" class="btn btn-default"><i class="fa fa-save"></i> Save</a></div>
570 <!-- Not using fast cataloging - Display split menu -->
571 <div class="btn-group">
572 <button class="btn btn-default" id="saverecord"><i class="fa fa-save"></i> Save</button>
573 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
574 <span class="caret"></span>
576 <ul class="dropdown-menu">
577 <li><a id="saveandview" href="#">Save and view record</a></li>
578 <li><a id="saveanditems" href="#">Save and edit items</a></li>
579 <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
584 <!-- User cannot edit items - single button redirecting to view -->
585 <div class="btn-group"><a href="#" id="saveandview" class="btn btn-default"><i class="fa fa-save"></i> Save</a></div>
586 [% END # /IF CAN_user_editcatalogue_edit_items %]
588 [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
589 [% IF biblionumber %]
590 <div class="btn-group"><a class="btn btn-default" href="#" id="z3950search"><i class="fa fa-search"></i> Replace record via Z39.50/SRU search</a></div>
592 <div class="btn-group"><a class="btn btn-default" href="#" id="z3950search"><i class="fa fa-search"></i> Z39.50/SRU search</a></div>
596 <div class="btn-group">
597 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cog"></i> Settings <span class="caret"></span></button>
598 <ul id="settings-menu" class="dropdown-menu">
599 [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 && CAN_user_editcatalogue_advanced_editor %]
600 <li><a href="#" id="switcheditor">Switch to advanced editor</a></li>
602 [% IF marcflavour != 'NORMARC' AND NOT advancedMARCEditor %]
604 <a href="#" id="marcDocsSelect"><i class="fa fa-check-square-o"></i> Show MARC tag documentation links</a>
606 <a href="#" id="marcTagsSelect"><i class="fa fa-check-square-o"></i> Show tags</a>
609 <li class="dropdown-header">Change framework</li>
611 <a href="#" class="change-framework" data-frameworkcode="">
612 [% IF ( frameworkcode ) %]
613 <i class="fa fa-fw"> </i>
615 <i class="fa fa-fw fa-check"></i>
620 [% FOREACH framework IN frameworks%]
622 <a href="#" class="change-framework" data-frameworkcode="[% framework.frameworkcode | html %]">
623 [% IF framework.frameworkcode == frameworkcode %]
624 <i class="fa fa-fw fa-check"></i>
626 <i class="fa fa-fw"> </i>
628 [% framework.frameworktext | html %]
632 </ul> <!-- /#settings-menu -->
633 </div> <!-- /.btn-group -->
634 [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
635 [% IF (biblionumber) %]
636 [% IF ( BiblioDefaultViewmarc ) %]
637 <div class="btn-group">
638 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
640 [% ELSIF ( BiblioDefaultViewlabeled_marc ) %]
641 <div class="btn-group">
642 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
644 [% ELSIF ( BiblioDefaultViewisbd ) %]
645 <div class="btn-group">
646 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
649 <div class="btn-group">
650 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
654 <a class="btn btn-default" id="cancel" href="/cgi-bin/koha/cataloguing/addbooks.pl">Cancel</a>
656 [% END # /UNLESS circborrowernumber %]
657 <div class="toolbar-tabs-container">
658 [% IF ( BIG_LOOP.size > 1 ) %]
659 <ul class="toolbar-tabs">
660 [%- FOREACH BIG_LOO IN BIG_LOOP -%]
662 <li class="selected">
666 <a data-tabid="[% BIG_LOO.number | html %]" href="#tab[% BIG_LOO.number | html %]XX">[% BIG_LOO.number | html %]</a>
671 <ul class="tag_anchors_list">
672 [% FOREACH BIG_LOO IN BIG_LOOP %]
673 [% IF loop.first %][% SET tab_selected = "tab_selected" %][% ELSE %][% SET tab_selected = "" %][% END %]
674 [% FOREACH innerloo IN BIG_LOO.innerloop %]
675 [% IF ( innerloo.tag ) %]
676 <li class="tag_anchors tag_anchors_[% BIG_LOO.number | html %] [% tab_selected | html %]">
677 <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>
684 </div> <!-- /#toolbar.btn-toolbar -->
686 [% IF bib_doesnt_exist %]
687 <div class="dialog alert">
688 The record you are trying to edit doesn't exist.<br>
689 <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>.
694 <input type="hidden" name="mode" value="popup" />
696 <input type="hidden" name="op" value="addbiblio" />
697 <input type="hidden" id="frameworkcode" name="frameworkcode" value="[% frameworkcode | html %]" />
698 <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
699 <input type="hidden" name="breedingid" value="[% breedingid | html %]" />
700 <input type="hidden" name="changed_framework" value="" />
702 <div id="addbibliotabs" class="toptabs numbered">
704 [% FOREACH BIG_LOO IN BIG_LOOP %]
705 <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
709 [% FOREACH BIG_LOO IN BIG_LOOP %]
710 <div id="tab[% BIG_LOO.number | html %]XX">
712 [% IF ( BIG_LOOP.size > 1 ) %]
713 <h3>Section [% BIG_LOO.number | html %]</h3>
716 [% FOREACH innerloo IN BIG_LOO.innerloop %]
717 [% IF ( innerloo.tag ) %]
718 [% IF innerloo.tag != previous %]
719 [% IF previous != "" %]
722 [% previous = innerloo.tag %]
723 [% IF ( innerloo.repeatable ) %]
724 <ul class="sortable_field">
729 [% IF ( innerloo.repeatable ) %]
730 <li class="tag sortable_tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
732 <li class="tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
734 <div class="tag_title" id="div_indicator_tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]">
735 [% IF advancedMARCEditor %]
736 <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>
738 <span class="tagnum" title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span>
739 [% IF marcflavour != 'NORMARC' %]<a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag | html %]'); return false;"> ?</a>[% END %]
742 [% IF ( innerloo.fixedfield ) %]
745 class="indicator flat"
746 style="display:none;"
747 name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
750 value="[% innerloo.indicator1 | html %]" />
753 class="indicator flat"
754 style="display:none;"
755 name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
758 value="[% innerloo.indicator2 | html %]" />
762 class="indicator flat"
763 name="tag_[% innerloo.tag | html %]_indicator1_[% innerloo.index | html %][% innerloo.random | html %]"
766 value="[% innerloo.indicator1 | html %]" />
769 class="indicator flat"
770 name="tag_[% innerloo.tag | html %]_indicator2_[% innerloo.index | html %][% innerloo.random | html %]"
773 value="[% innerloo.indicator2 | html %]" />
774 [% END # /IF innerloo.fixedfield %] -
776 [% UNLESS advancedMARCEditor %]
777 <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>
780 <span class="field_controls">
781 [% IF ( innerloo.repeatable ) %]
782 <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">
783 <img src="[% interface | html %]/[% theme | html %]/img/repeat-tag.png" alt="Repeat this Tag" />
786 <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Delete this Tag">
787 <img src="[% interface | html %]/[% theme | html %]/img/delete-tag.png" alt="Delete this Tag" />
789 </span> <!-- /.field_controls -->
790 </div> <!-- /div.tag_title -->
792 <ul class="sortable_subfield">
793 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
794 <!-- One line on the marc editor -->
795 <li class="subfield_line" style="[% subfield_loo.visibility | html %]" id="subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]">
796 [% UNLESS advancedMARCEditor %]
797 [% IF ( subfield_loo.fixedfield ) %]
798 <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">
800 <label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield">
804 <span class="subfieldcode">
806 title="[% subfield_loo.marc_lib | $raw %]"
807 style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
808 name="tag_[% subfield_loo.tag | html %]_code_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]"
809 value="[% subfield_loo.subfield | html %]"
816 [% UNLESS advancedMARCEditor %]
817 [% IF ( subfield_loo.mandatory ) %]
818 <span class="subfield subfield_mandatory">
819 [% ELSIF ( subfield_loo.important ) %]
820 <span class="subfield subfield_important">
822 <span class="subfield">
824 [% subfield_loo.marc_lib | $raw %]
829 [% SET mv = subfield_loo.marc_value %]
830 [% IF ( mv.type == 'text' ) %]
831 [% IF ( mv.readonly == 1 ) %]
832 <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" />
834 <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 -%]" />
837 [% IF ( mv.authtype ) %]
838 <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>
840 [% ELSIF ( mv.type == 'text_complex' ) %]
841 <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 -%]" />
842 <span class="subfield_controls">
844 <span class="buttonDot tag_editor disabled" tabindex="-1" title="Field autofilled by plugin"></span>
846 <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
849 [% mv.javascript | $raw %]
850 [% ELSIF ( mv.type == 'hidden' ) %]
851 <input tabindex="1" type="hidden" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
852 [% ELSIF ( mv.type == 'textarea' ) %]
853 <textarea cols="70" rows="4" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" class="input_marceditor" tabindex="1">[%- mv.value | html -%]</textarea>
854 [% ELSIF ( mv.type == 'select' ) %]
855 <select name="[%- mv.name | html -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id | html -%]">
856 [% FOREACH aval IN mv.values %]
857 [% IF aval == mv.default %]
858 <option value="[%- aval | html -%]" selected="selected">[%- mv.labels.$aval | html -%]</option>
860 <option value="[%- aval | html -%]">[%- mv.labels.$aval | html -%]</option>
864 [% END # /IF (mv.type...) %]
865 [% IF ( subfield_loo.mandatory ) %]
866 <span class="required">Required</span>
867 [% ELSIF ( subfield_loo.important ) %]
868 <span class="important">Important</span>
870 <span class="subfield_controls">
871 [% IF ( subfield_loo.repeatable ) %]
872 <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;">
873 <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
875 <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;">
876 <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
880 </li> <!-- /.subfield_line -->
881 <!-- End of the line -->
882 [% END # /FOREACH subfield_loop %]
883 </ul> <!-- /.sortable_subfield -->
884 </li> <!-- /.tag.clearfix -->
885 [% END %]<!-- if innerloo.tag -->
886 [% END # /FOREACH BIG_LOO.innerloop %]
887 </ul> <!-- /.sortable_field -->
888 </div> <!-- /#tabXXX -->
889 [% END # /FOREACH BIG_LOOP %]
890 </div><!-- /#addbibliotabs -->
892 [%# Fields for fast cataloging %]
893 <input type="hidden" name="barcode" value="[% barcode | html %]" />
894 <input type="hidden" name="branch" value="[% branch | html %]" />
895 <input type="hidden" name="circborrowernumber" value="[% circborrowernumber | html %]" />
896 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
897 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
898 [%# End of fields for fast cataloging %]
899 </form> <!-- /name=f -->
900 </div> <!-- /.col-md-10.col-md-offset-1 -->
901 </div> <!-- /.row -->
903 [% INCLUDE 'intranet-bottom.inc' %]