New XML API
[koha_gimpoz] / koha-tmpl / intranet-tmpl / prog / en / authorities / authorities.tmpl
1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->NEULIS -- Authorities
2 <!-- TMPL_INCLUDE NAME="doc-head-close-addbiblio.inc" -->
3 <!--TMPL_UNLESS NAME="nonav"--><!-- TMPL_INCLUDE NAME="masthead.inc" --><!--/TMPL_UNLESS-->
4 <!-- TMPL_INCLUDE NAME="authorities-topmenu.inc" -->
5 <!--TMPL_UNLESS NAME="nonav"--><!-- TMPL_INCLUDE NAME="intranet-nav-brief.inc" --><!--/TMPL_UNLESS-->
6
7
8 <link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR NAME="themelang" -->/includes/marc-editor.css">
9 <div id="main">
10 <!-- TMPL_IF name="error" -->
11                         <div class="error">
12                                 <!--TMPL_IF NAME="xmlerror"-->
13                                 <ul>
14                                         <li>Non UTF-8 characters present or malformed XML</li>
15                                         <li>Please correct and save.</li>
16                                 </ul>
17                                 <!--/TMPL_IF-->
18                         </div>
19 <!-- /TMPL_IF -->
20 <form method="post" name="f" id="f" action="authorities.pl?authid=<!-- TMPL_VAR NAME="authid" -->&nonav=<!-- TMPL_VAR NAME="nonav" -->&linkid="+document.form.f.linkid.value >
21         
22 <div class="tabitem">
23         <h1>Authority number <!-- TMPL_VAR NAME="authid" --></h1>
24         <p><input type="hidden" name="nonav" value="<!-- TMPL_VAR NAME="nonav" -->"><input type="hidden" name="index" value="<!-- TMPL_VAR NAME="index" -->">
25                 <input type="hidden" name="op" value="add">
26                 <input type="hidden" name="addfield_field">
27                 <input type="hidden" name="authtypecode" value="<!-- TMPL_VAR NAME="authtypecode" -->">
28                 <input type="hidden" name="authid" value="<!-- TMPL_VAR NAME="authid" -->">
29         <input type="hidden" name="linkid" id="linkid" value="0000">
30                 <!-- TMPL_IF name="authid" -->
31                         <input type="button" value="Save" onClick="Check(this.form)" accesskey="w" class="button authority">
32                 <!-- TMPL_ELSE -->
33                         <input type="button" value="Add authority" onClick="Check(this.form)" accesskey="w" class="button authority">
34                 <!-- /TMPL_IF -->
35         </p>
36 </div>
37 <br>
38         <div class="tabs">
39         <!-- TMPL_LOOP name="BIG_LOOP" -->
40             <a href="#" onclick="active(<!-- TMPL_VAR name="number"-->); return false;" id="link<!-- TMPL_VAR name="number"-->"><!-- TMPL_VAR name="number"--></a>
41         <!--  /TMPL_LOOP -->
42         </div>
43
44
45 <! -- RESET PAGINATION -->
46 <!-- TMPL_LOOP name="BIG_LOOP" -->
47 <!-- hide every tab except the 1st -->
48 <!-- TMPL_IF name="number" -->
49     <div name="<!-- TMPL_VAR name="number" -->XX" id="<!-- TMPL_VAR name="number" -->XX" class="tab" style="visibility:hidden">
50 <!-- TMPL_ELSE -->
51     <div name="<!-- TMPL_VAR name="number" -->XX" id="<!-- TMPL_VAR name="number" -->XX" class="tab" style="visibility:visible">
52 <!-- /TMPL_IF -->
53 <!-- TMPL_UNLESS name="number" -->
54     <!-- show duplicate warning on tab 0 only -->
55 <!-- TMPL_IF name="duplicateauthid" -->
56                         <div class="error">
57                                 <p>Is this a duplicate of <a href="detail.pl?authid=<!-- TMPL_VAR name="duplicateauthid" -->&nonav=<!-- TMPL_VAR name="nonav" -->" onclick="openWindow('detail.pl?nonav=<!-- TMPL_VAR name="nonav" -->&authid=<!-- TMPL_VAR name="duplicateauthid" -->&popup=1', ''; return false;)"><!-- TMPL_VAR name="duplicateauthvalue" --></a>?</p>
58                                 
59                                 <ul>
60                                         
61                                         <li>If not, click to <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" /> <a href="#" onclick="confirmnotdup(); return false;">Confirm it's not a duplicate</a></li>
62                                 </ul>
63                         </div>
64                 <!-- /TMPL_IF -->
65   <!-- /TMPL_UNLESS -->
66     <!-- TMPL_LOOP NAME="innerloop" -->
67                 <div style=";" id="tag<!-- TMPL_VAR name="tag"-->">
68         <!-- TMPL_IF name="tag" -->
69         <p class="MARCtag">
70             <input type="hidden" name="ind_tag" value="<!-- TMPL_VAR NAME="tag" -->">
71             <!-- TMPL_UNLESS name="hide_marc" -->
72                 <a title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></a>
73                 <input tabindex="1" onblur="this.style.backgroundColor='#ffffff';" onfocus="this.style.backgroundColor='#ffff00;'" type="text" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> name="indicator" size="2" maxlength="2" value="<!-- TMPL_VAR NAME="indicator" -->" class="flat"> -
74             <!-- TMPL_ELSE -->
75                 <input tabindex="1" type="hidden" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> name="indicator" value="<!-- TMPL_VAR NAME="indicator" -->">
76             <!-- /TMPL_UNLESS -->
77             <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
78             <!-- TMPL_VAR NAME="tag_lib" -->
79             <!-- /TMPL_UNLESS -->
80             <!-- TMPL_IF name="repeatable" --><a href="javascript:AddField('<!-- TMPL_VAR NAME="tag" -->')">+</a><!-- /TMPL_IF -->
81         </p>
82         <!-- /TMPL_IF -->
83         <!-- TMPL_LOOP NAME="subfield_loop" -->
84             <!-- TMPL_IF NAME="visibility" -->
85                 <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" -->')">
86                     <!-- TMPL_VAR NAME="subfield" -->
87                 </a>
88             <!-- /TMPL_IF -->
89             <div style="<!-- TMPL_VAR NAME='visibility' -->;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='index' -->">
90                 <p>
91                 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
92                     <label <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield">
93                 <!-- /TMPL_UNLESS -->
94                 <!-- TMPL_UNLESS name="hide_marc" -->
95                     <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" -->')"/>
96                         <input title="<!-- TMPL_VAR NAME="marc_lib_plain" -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" name="subfield" id="subfield<!--TMPL_VAR NAME="id"-->" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" DISABLE READONLY tabindex=-1 />
97                 <!-- TMPL_ELSE -->
98                     <input type="hidden" name="subfield" id="subfield<!--TMPL_VAR NAME="id"-->" value="<!-- TMPL_VAR NAME="subfield" -->"/>
99                 <!-- /TMPL_UNLESS -->
100                 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
101                     <!-- TMPL_IF name="mandatory" --><b><!-- /TMPL_IF -->
102                     <!-- TMPL_VAR NAME="marc_lib" -->
103                     <!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF -->
104                     </label>
105                 <!-- /TMPL_UNLESS -->
106                 <!-- TMPL_VAR NAME="marc_value" -->
107                 <!-- TMPL_IF NAME="repeatable" -->
108                     <a style="cursor: crosshair; color: grey; font-size: 80%;" onclick="cloneSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->')">+</a>
109                 <!-- /TMPL_IF -->
110                 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" --><!--TMPL_VAR NAME="id"-->"/>
111                 <input type="hidden" name="subfieldYYY" value="<!-- TMPL_VAR NAME="subfield" -->" size="2" maxlength="1"/>
112                 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->"/>
113                 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->"/>
114                 </p>
115             </div>
116         <!-- /TMPL_LOOP -->
117         </div>
118     <!-- /TMPL_LOOP -->
119     </div>
120 <!-- /TMPL_LOOP -->
121                 <div name="hidden" id="hidden" class="tab">
122                 <!-- TMPL_LOOP NAME="hidden_loop" -->
123                                 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->">
124                                 <input type="hidden" name="subfield" id="subfield<!--TMPL_VAR NAME="id"-->" value="<!-- TMPL_VAR NAME="subfield" -->">
125                                 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->">
126                                 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
127                 <!-- /TMPL_LOOP -->
128                 </div>
129                 <!-- TMPL_IF name="oldauthnumtagfield" -->
130                         <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="oldauthnumtagfield" -->">
131                         <input type="hidden" name="subfield" id="subfield<!--TMPL_VAR NAME="id"-->" value="<!-- TMPL_VAR NAME="oldauthnumtagsubfield" -->">
132                         <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="authid" -->">
133                         <input type="hidden" name="mandatory" value="0">
134                         <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
135                         <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="oldauthtypetagfield" -->">
136                         <input type="hidden" name="subfield" id="subfield<!--TMPL_VAR NAME="id"-->" value="<!-- TMPL_VAR NAME="oldauthtypetagsubfield" -->">
137                         <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="authtypecode" -->">
138                         <input type="hidden" name="mandatory" value="0">
139                         <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
140
141                 <!-- /TMPL_IF -->
142         </form>
143 <script language="JavaScript" type="text/javascript">
144 function _(s) { return s } // dummy function for gettext
145 function confirmnotdup(){
146         document.getElementById("confirm_not_duplicate").value = 1;
147         var checkform = document.getElementById("f");
148         Check(checkform);
149 }
150 function active(numlayer)
151 {
152         for (i=0; i <= 9 ; i++ ) {
153                 ong = i+"XX";
154                 link = "link"+i;
155                 if (numlayer==i) {
156                         with(document){
157                         if (document.getElementById(ong)){
158                                 document.getElementById(ong).style.visibility="visible";
159                         }
160                         if(document.getElementById(link)){
161                                 document.getElementById(link).style.color="#000066";
162                                 document.getElementById(link).style.backgroundColor="#FFFFCC";
163                         }
164                         }
165                 } else {
166                         with(document){
167                         if (document.getElementById(ong)){
168                                 document.getElementById(ong).style.visibility="hidden";
169                         }
170                         if (document.getElementById(link)) {
171                                 document.getElementById(link).style.color="#669999";
172                                 document.getElementById(link).style.backgroundColor="#D8DEB8";
173                         }
174                         }
175                 }
176         }
177 }
178 active(0);
179 function Check(f) {
180         document.body.style.cursor ="wait";
181         // Scan for nonempty fields
182         var field_is_nonempty_p = new Array();
183         for (i=0 ; i<f.field_value.length ; i++) {
184             field_is_nonempty_p[f.tag[i].value] = 0;
185         }
186         for (i=0 ; i<f.field_value.length ; i++) {
187             if (f.field_value[i].value.length != 0) {
188                 field_is_nonempty_p[f.tag[i].value] += 1;
189             }
190         }
191
192         // Scan for missing mandatory subfields
193         var total_missing_mandatory_subfields = 0;
194         var missing_mandatory_subfields = new Array();
195         for (i=0 ; i<f.field_value.length-2 ; i++) {
196                 if (f.field_value[i].value.length==0 && f.mandatory[i].value==1) {
197                     // We should not flag an error unless the tag is also
198                     // mandatory, or if something else in the tag is entered
199
200                     if (f.tag_mandatory[i].value == 1 || field_is_nonempty_p[f.tag[i].value]) {
201                                 f.field_value[i].style.backgroundColor="#FF0000";
202                                 total_missing_mandatory_subfields++;
203                         if (f.field_value[i].parentNode.tagName == "B")
204                         {
205                                 missing_mandatory_subfields.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.parentNode.id.substr(0,1) + ")");
206                         }
207                         else
208                         {
209                                 missing_mandatory_subfields.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.id.substr(0,1) + ")");
210                         }
211
212                         }
213                 } else {
214                         f.field_value[i].style.backgroundColor="#FFFFFF";
215                 }
216         }
217
218         // Scan for missing mandatory tags
219         var total_missing_mandatory_tags = 0;
220         var seen_mandatory_tag_p = new Array();
221         var missing_mandatory_tags = new Array();
222         for (i=0 ; i<f.field_value.length ; i++) {
223             var j = f.tag[i].value;
224             if (!field_is_nonempty_p[j] && f.tag_mandatory[i].value == 1) {
225                 if (seen_mandatory_tag_p[j] != 1) {
226                     seen_mandatory_tag_p[j] = 1;
227                     total_missing_mandatory_tags++;
228                     if (f.field_value[i].parentNode.tagName == "B")
229                     {
230                                 missing_mandatory_tags.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.parentNode.id.substr(0,1) + ")");
231                     }
232                     else
233                     {
234                                 missing_mandatory_tags.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.id.substr(0,1) + ")");
235                         }
236                 }
237                 f.field_value[i].style.backgroundColor="#FFFF00";
238             }
239         }
240
241         var total_errors = total_missing_mandatory_tags + total_missing_mandatory_subfields;
242         var alertString2;
243         if (total_errors!=0) {
244                 alertString2  = _("Form not submitted because of the following problem(s)");
245                 alertString2 += "\n------------------------------------------------------------------------------------\n";
246                 alertString2 += "\n- "+ total_missing_mandatory_tags +_(" mandatory tags empty");
247                 for (i=0; i<missing_mandatory_tags.length; i++)
248                 {
249                         alertString2 += "\n--->"+ missing_mandatory_tags[i];
250                 }
251                 alertString2 += "\n- "+ total_missing_mandatory_subfields +_(" mandatory fields empty (see bold subfields)");
252                 for (i=0; i<missing_mandatory_subfields.length; i++)
253                 {
254                         alertString2 += "\n--->"+ missing_mandatory_subfields[i];
255                 }
256                 alert(alertString2);
257         } else {
258                 document.forms['f'].submit();
259         }
260 }
261 function Dopop(link,id) {
262  var subf=document.getElementsByName('subfield'+id);
263 var fields=document.getElementsByName('field_value'+id);
264 var defaultvalue="";
265         for (var s=0; s<fields.length; s++){
266                 if (subf.item(s).value == 'a'){
267                 defaultvalue=fields.item(s).value;
268                 }
269         }
270
271         newin=window.open(link+"&result="+defaultvalue,"",'width=550,height=550,toolbar=false,scrollbars=yes');
272
273 }
274
275
276 function AddField(field) {
277         document.forms['f'].op.value = "addfield";
278         document.forms['f'].addfield_field.value=field;
279         document.f.submit();
280 }
281
282 function cloneSubfield(index) {
283  var original = document.getElementById(index);
284  var clone = original.cloneNode(true);
285  clone.setAttribute("id", index + index); 
286 // orginput : the value of the original field (in [0] if hide_marc=1, otherwise in [1]
287 // image : the up button. don't exist is hide_marc=1
288  <!-- TMPL_IF name="hide_marc" -->
289         var orginput = original.getElementsByTagName('input')[0];
290  <!-- TMPL_ELSE -->
291         var orginput = original.getElementsByTagName('input')[1];
292         image = clone.getElementsByTagName('img')[0];
293         image.setAttribute("onclick","upSubfield('" + index + index + "')");
294  <!-- /TMPL_IF -->
295  trigger = original.getElementsByTagName('a')[0];
296  if (trigger) {
297         trigger.parentNode.removeChild(trigger);
298  }
299  clonetrigger = clone.getElementsByTagName('a')[0];
300  clonetrigger.setAttribute("onclick","cloneSubfield('" + index + index + "')");
301  clone.setAttribute("tabindex","1");
302  orginput.value = '';
303  original.parentNode.insertBefore( clone, original); 
304 }
305
306 function upSubfield(index) {
307         try{
308                 var line = document.getElementById(index); // get the line where the user has clicked.
309         } catch(e) {
310                 return;
311         }
312         var tag = line.parentNode; // get the dad of this line. (should be "<div tag=XXX>")
313         
314         // getting all subfields for this tag
315         var subfields = tag.getElementsByTagName('div');
316         var subfieldsLength = subfields.length;
317         if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
318         // among all subfields 
319         for(var i=0;i<subfieldsLength;i++){ 
320                 if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
321                         if(i==0){ // if the clicked subfield is on the top
322                                 tag.appendChild(subfields[0]);
323                                 return;
324                         }else{
325                                 var lineAbove = subfields[i-1];
326                                 tag.insertBefore(line,lineAbove);
327                                 return;
328                         }
329                 }
330         }
331 }
332
333 function unHideSubfield(index,labelindex) {
334         subfield = document.getElementById(index);
335         subfield.style.display = 'block';
336         label = document.getElementById(labelindex);
337         label.style.display='none';     
338 }
339 </script>
340 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->