1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
2 <title>Koha › catalogage › <!-- TMPL_IF NAME="biblionumber" -->Modifier la notice MARC numéro <!-- TMPL_VAR name="biblionumber" --><!-- TMPL_ELSE -->Ajout notice MARC<!-- /TMPL_IF --></title>
3 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
5 <!-- TMPL_INCLUDE NAME="menus.inc" -->
6 <!-- TMPL_INCLUDE NAME="menu-catalogue.inc" -->
8 <form method="post" name="f" id="f" action="addbiblio.pl">
9 <h1><!-- TMPL_IF NAME="biblionumtagfield" -->Modifier la notice MARC numéro <!-- TMPL_VAR name="biblionumber" --><!-- TMPL_ELSE -->Ajout notice MARC<!-- /TMPL_IF --></h1>
12 <!-- TMPL_IF name="biblionumber" -->
13 <input type="button" value="Valider la notice bibliographique et passer aux exemplaires" onclick="Check(this.form)" accesskey="w">
15 <input type="button" value="Valider la notice et aller aux exemplaires" onclick="Check(this.form)" accesskey="w">
17 <input type="button" value="Recherche Z39.50" onclick="PopupZ3950(); return false;">
20 Avec la grille : <!--TMPL_VAR Name="framework" -->
22 <input type="hidden" name="op" value="addbiblio" />
23 <input type="hidden" name="repeat_field" />
24 <input type="hidden" name="addfield_field" />
25 <input type="hidden" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" />
26 <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
27 <input type="hidden" name="breedingid" value="<!-- TMPL_VAR NAME="breedingid" -->" />
31 <!-- TMPL_LOOP name="BIG_LOOP" -->
32 <!-- TMPL_IF name="number" -->
33 <a href="JavaScript:active(<!-- TMPL_VAR name="number"-->)" class="tab_inactive" id="link<!-- TMPL_VAR name="number"-->"><!-- TMPL_VAR name="number"--></a>
35 <a href="JavaScript:active(<!-- TMPL_VAR name="number"-->)" class="tab_active" id="link<!-- TMPL_VAR name="number"-->"><!-- TMPL_VAR name="number"--></a>
40 <!-- RESET PAGINATION -->
41 <!-- TMPL_LOOP name="BIG_LOOP" -->
42 <!-- hide every tab except the 1st -->
43 <!-- TMPL_IF name="number" -->
44 <div id="<!-- TMPL_VAR name="number" -->XX" class="content_hidden">
46 <div id="0XX" class="content_visible">
48 <!-- TMPL_UNLESS name="number" -->
49 <!-- show duplicate warning on tab 0 only -->
50 <!-- TMPL_IF name="duplicatebiblionumber" -->
52 <p class="problem">Est-ce un doublon de <a href="../cataloguing/MARCdetail.pl?biblionumber=<!-- TMPL_VAR name="duplicatebiblionumber" -->" onclick="openWindow('../MARCdetail.pl?biblionumber=<!-- TMPL_VAR name="duplicatebiblionumber" -->&popup=1', 'Duplicate biblio'; return false;)"><!-- TMPL_VAR name="duplicatetitle" --></a>?</p>
53 <p>Vous devez soit : </p>
55 <li>Si c'est un doublon, <a href="additem.pl?biblionumber=<!-- TMPL_VAR name="duplicatebiblionumber" -->">Modifier les exemplaires</a>de la notice existante.</li>
56 <li>Sinon, cliquez sur <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" /> <a href="#" onclick="confirmnotdup(); return false;">Confirmer que ce n'est pas un doublon</a></li>
61 <!-- TMPL_LOOP NAME="innerloop" -->
62 <div style=";" id="tag<!-- TMPL_VAR name="tag"-->">
63 <!-- TMPL_IF name="tag" -->
65 <input type="hidden" name="ind_tag" value="<!-- TMPL_VAR NAME="tag" -->">
66 <!-- TMPL_UNLESS name="hide_marc" -->
67 <a title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></a>
68 <!-- TMPL_IF NAME="fixedfield" -->
69 <input tabindex="1" onblur="this.style.backgroundColor='#ffffff';" onfocus="this.style.backgroundColor='#ffff00;'" type="text" style="display:none;" name="indicator" size="2" maxlength="2" value="<!-- TMPL_VAR NAME="indicator" -->" class="flat">
71 <input tabindex="1" onblur="this.style.backgroundColor='#ffffff';" onfocus="this.style.backgroundColor='#ffff00;'" type="text" name="indicator" size="2" maxlength="2" value="<!-- TMPL_VAR NAME="indicator" -->" class="flat">
74 <!-- TMPL_IF NAME="fixedfield" -->
75 <input tabindex="1" type="hidden" style="display:none;" name="indicator" value="<!-- TMPL_VAR NAME="indicator" -->">
77 <input tabindex="1" type="hidden" name="indicator" value="<!-- TMPL_VAR NAME="indicator" -->">
80 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
81 <!-- TMPL_VAR NAME="tag_lib" -->
83 <!-- TMPL_IF name="repeatable" -->
84 <a href="#<!-- TMPL_VAR NAME="tag" -->" onclick="javascript:this.nextSibling.type='text';this.nextSibling.focus()">+</a><input type="hidden" value="" size="2" onchange="javascript:AddField('<!-- TMPL_VAR NAME="tag" -->',this.value)" ><!-- /TMPL_IF -->
87 <!-- TMPL_LOOP NAME="subfield_loop" -->
89 <!-- TMPL_IF NAME="visibility" -->
90 <a tabindex="1" style="color: grey; font-size: 80%; cursor: se-resize;" id="label<!-- TMPL_VAR name="index" -->" onclick="unHideSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->','label<!-- TMPL_VAR name="index" -->')">
91 <!-- TMPL_VAR NAME="subfield" -->
94 <div style="<!-- TMPL_VAR NAME='visibility' -->;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='index' -->">
96 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
97 <label <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield">
99 <!-- TMPL_UNLESS name="hide_marc" -->
100 <img style="cursor: crosshair; color: grey; font-size: 80%;" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> src="<!-- TMPL_VAR NAME="themelang" -->/images/up.png" onclick="upSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->')"/>
101 <input title="<!-- TMPL_VAR NAME="marc_lib_plain" -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" tabindex=-1 />
103 <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->"/>
104 <!-- /TMPL_UNLESS -->
105 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
106 <!-- TMPL_IF name="mandatory" --><b><!-- /TMPL_IF -->
107 <!-- TMPL_VAR NAME="marc_lib" -->
108 <!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF -->
110 <!-- /TMPL_UNLESS -->
111 <!-- TMPL_VAR NAME="marc_value" -->
112 <!-- TMPL_IF NAME="repeatable" -->
113 <a style="cursor: crosshair; color: grey; font-size: 80%;" onclick="cloneSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->')">+</a>
115 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->"/>
116 <input type="hidden" name="subfieldYYY" value="<!-- TMPL_VAR NAME="subfield" -->" size="2" maxlength="1"/>
117 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->"/>
118 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->"/>
119 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->"/>
127 <div name="hidden" id="hidden" class="tab">
128 <!-- TMPL_LOOP NAME="hidden_loop" -->
129 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->">
130 <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->">
131 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->">
132 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
133 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
136 <!-- TMPL_IF name="biblionumtagfield" -->
137 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="biblionumtagfield" -->">
138 <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="biblionumtagsubfield" -->">
139 <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="biblionumber" -->">
140 <input type="hidden" name="mandatory" value="0">
141 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
142 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="biblioitemnumtagfield" -->">
143 <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="biblioitemnumtagsubfield" -->">
144 <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="biblioitemnumber" -->">
145 <input type="hidden" name="mandatory" value="0">
146 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
147 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
150 <script language="JavaScript" type="text/javascript">
152 document.getElementById("loading").style.display = "none";
154 function _(s) { return s } // dummy function for gettext
155 function confirmnotdup(){
156 document.getElementById("confirm_not_duplicate").value = 1;
157 var checkform = document.getElementById("f");
161 function active(numlayer){
162 for (i=0; i <= 10 ; i++ ) {
165 tab = document.getElementById(i+'XX');
166 tab.getAttribute('id'); // do not remove this line. It throws an execption.
172 tab.setAttribute("class","content_visible");
173 var tabactive=document.getElementById('link'+i);
174 tabactive.removeAttribute("class");
175 tabactive.setAttribute("class","tab_active");
177 tab.setAttribute("class","content_hidden");
179 var tabactive=document.getElementById('link'+i);
180 tabactive.removeAttribute("class");
181 tabactive.setAttribute("class","tab_inactive");
189 document.body.style.cursor ="wait";
190 // Scan for nonempty fields
191 var field_is_nonempty_p = new Array();
192 for (i=0 ; i<f.field_value.length ; i++) {
193 field_is_nonempty_p[f.tag[i].value] = 0;
195 for (i=0 ; i<f.field_value.length ; i++) {
196 if (f.field_value[i].value.length != 0) {
197 field_is_nonempty_p[f.tag[i].value] += 1;
201 // Scan for missing mandatory subfields
202 var total_missing_mandatory_subfields = 0;
203 var missing_mandatory_subfields = new Array();
204 for (i=0 ; i<f.field_value.length-2 ; i++) {
205 if (f.field_value[i].value.length==0 && f.mandatory[i].value==1) {
206 // We should not flag an error unless the tag is also
207 // mandatory, or if something else in the tag is entered
209 if (f.tag_mandatory[i].value == 1 || field_is_nonempty_p[f.tag[i].value]) {
210 f.field_value[i].style.backgroundColor="#FF0000";
211 total_missing_mandatory_subfields++;
212 if (f.field_value[i].parentNode.tagName == "B")
214 missing_mandatory_subfields.push(f.field_value[i].innerHTML + " (tab " + f.field_value[i].parentNode.parentNode.parentNode.parentNode.id.substr(0,1) + ")");
218 missing_mandatory_subfields.push(f.field_value[i].innerHTML + " (tab " + f.field_value[i].parentNode.parentNode.parentNode.id.substr(0,1) + ")");
223 f.field_value[i].style.backgroundColor="#FFFFFF";
227 // Scan for missing mandatory tags
228 var total_missing_mandatory_tags = 0;
229 var seen_mandatory_tag_p = new Array();
230 var missing_mandatory_tags = new Array();
231 for (i=0 ; i<f.field_value.length ; i++) {
232 var j = f.tag[i].value;
233 if (!field_is_nonempty_p[j] && f.tag_mandatory[i].value == 1) {
234 if (seen_mandatory_tag_p[j] != 1) {
235 seen_mandatory_tag_p[j] = 1;
236 total_missing_mandatory_tags++;
237 if (f.field_value[i].parentNode.tagName == "B")
239 missing_mandatory_tags.push(f.field_value[i].innerHTML + " (tab " + f.field_value[i].parentNode.parentNode.parentNode.parentNode.id.substr(0,1) + ")");
243 missing_mandatory_tags.push(f.field_value[i].innerHTML + " (tab " + f.field_value[i].parentNode.parentNode.parentNode.id.substr(0,1) + ")");
246 f.field_value[i].style.backgroundColor="#FFFF00";
250 var total_errors = total_missing_mandatory_tags + total_missing_mandatory_subfields;
252 if (total_errors!=0) {
253 alertString2 = _("Formulaire non soumis à cause du (des) problème(s) suivant(s)");
254 alertString2 += "\n------------------------------------------------------------------------------------\n";
255 alertString2 += "\n- "+ total_missing_mandatory_tags +_("Champ(s) obligatoire(s) non renseigné(s)");
256 for (i=0; i<missing_mandatory_tags.length; i++)
258 alertString2 += "\n--->"+ missing_mandatory_tags[i];
260 alertString2 += "\n- "+ total_missing_mandatory_subfields +_("champs obligatoires vides (voir les sous-champs en gras)");
261 for (i=0; i<missing_mandatory_subfields.length; i++)
263 alertString2 += "\n--->"+ missing_mandatory_subfields[i];
267 document.forms['f'].submit();
270 function Dopop(link,i) {
271 defaultvalue=document.forms['f'].field_value[i].value;
272 newin=window.open(link+"&result="+defaultvalue,"value builder",'width=700,height=550,toolbar=false,scrollbars=yes');
275 function PopupZ3950() {
278 for (i=0 ; i<document.forms['f'].field_value.length ; i++) {
279 if (document.forms['f'].kohafield[i].value == "biblioitems.isbn"){
280 if(document.forms['f'].field_value[i].value.length>0) {
281 strQuery += "&isbn="+document.forms['f'].field_value[i].value;
286 if (document.forms['f'].kohafield[i].value == "biblio.title"){
287 if(document.forms['f'].field_value[i].value.length>0) {
288 strQuery += "&title="+document.forms['f'].field_value[i].value;
293 if (document.forms['f'].kohafield[i].value == "biblio.author"){
294 if(document.forms['f'].field_value[i].value.length>0) {
295 strQuery += "&author="+document.forms['f'].field_value[i].value;
300 if (document.forms['f'].kohafield[i].value == "biblioitems.issn"){
301 if(document.forms['f'].field_value[i].value.length>0) {
302 strQuery += "&issn="+document.forms['f'].field_value[i].value;
309 newin=window.open("z3950_search.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->"+strQuery,"z3950search",'width=640,height=400,location=yes,toolbar=no,scrollbars=yes');
311 alert("To perform a z39.50 search, you must enter at least one of the following: \n\n ISBN\n ISSN\n Title\n Author\n");
315 function Changefwk(FwkList) {
316 var fwk = FwkList.options[FwkList.selectedIndex].value;
317 window.location = "addbiblio.pl?biblionumber=<!--TMPL_VAR Name="oldbiblionumber"-->&breedingid=<!-- TMPL_VAR name="breedingid" -->&frameworkcode="+fwk;
320 function openAuth(tagid,authtype,X) {
321 // defaultid=document.getElementById(subfieldid);
323 Y=X.parentNode.getAttribute("id");
325 newin=window.open("../authorities/auth_finder.pl?authtypecode="+ authtype+ "&tagid="+Y, "value builder",'width=700,height=550,toolbar=false,scrollbars=yes');
329 function AddField(field,cntrepeatfield) {
330 document.forms['f'].op.value = "addfield";
331 document.forms['f'].addfield_field.value=field;
332 document.forms['f'].repeat_field.value=cntrepeatfield;
333 //alert(document.forms['f'].repeat_field.value);
337 function cloneSubfield(index) {
338 var original = document.getElementById(index); //original <div>
339 var clone = original.cloneNode(true);
341 // set the attribute for the new 'div' subfields
342 clone.setAttribute('id',index + index);//set another id.
344 NumTabIndex = parseInt(original.getAttribute('tabindex'));
345 if(isNaN(NumTabIndex)) NumTabIndex = 0;
346 clone.setAttribute('tabindex',NumTabIndex+1);
350 CloneButtonPlus = clone.getElementsByTagName('a')[0];
351 CloneButtonPlus.setAttribute('onclick',"cloneSubfield('" + index + index + "')");
352 var buttonUp = clone.getElementsByTagName('img')[0];
353 // alert(buttonUp.getAttribute('id'));
354 buttonUp.setAttribute('onclick',"upSubfield('" + index + index + "')");
357 // do nothig if ButtonPlus & CloneButtonPlus don't exist.
360 // insert this line on the page
361 original.parentNode.insertBefore(clone,original.nextSibling);
364 function upSubfield(index) {
366 var line = document.getElementById(index); // get the line where the user has clicked.
370 var tag = line.parentNode; // get the dad of this line. (should be "<div tag=XXX>")
372 // getting all subfields for this tag
373 var subfields = tag.getElementsByTagName('div');
374 var subfieldsLength = subfields.length;
375 if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
376 // among all subfields
377 for(var i=0;i<subfieldsLength;i++){
378 if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
379 if(i==0){ // if the clicked subfield is on the top
380 tag.appendChild(subfields[0]);
383 var lineAbove = subfields[i-1];
384 tag.insertBefore(line,lineAbove);
391 function unHideSubfield(index,labelindex) {
392 subfield = document.getElementById(index);
393 subfield.style.display = 'block';
394 label = document.getElementById(labelindex);
395 label.style.display='none';
398 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->