Merge branch 'bug_8945' into 3.12-master
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / serials / serials-edit.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha &rsaquo; Serials &rsaquo; Serial edition [% bibliotitle %]</title>
3 [% INCLUDE 'doc-head-close.inc' %]
4 <script type="text/javascript" src="[% themelang %]/js/cataloging.js"></script>
5 <script language="JavaScript" type="text/javascript">
6 //<![CDATA[
7 function generateReceive() {
8     var subscriptionid =  document.getElementsByName("subscriptionid")[0].value;
9     if(nbissues=prompt(_("How many issues do you want to receive ?"))){
10         document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
11     }
12 }
13 function popup(subscriptionid) {
14         window.open("subscription-renew.pl?subscriptionid="+subscriptionid,"subscription_renewal",'width=700,height=400,toolbar=false,scrollbars=yes');
15 }
16
17 function barcode_check(){
18     [% IF ( count ) %]
19     var count = [% count %];
20     for(var i=1;i<=count;i++){
21
22         var barcodenum = "barcode"+i;
23         var statusnum = "status"+i;
24         var elembarcode = "document.getElementById('"+barcodenum+"')";
25         var elemstatus = "document.getElementById('"+statusnum+"')";
26 // alert(elembarcode+"\n"+eval(elembarcode+".value));
27 // alert(elemstatus+"\n"+eval(elemstatus+".value"));
28         if(eval(elembarcode+".value") =='' && eval(elemstatus+".value") == 2){
29             var answer = confirm("Leave barcode blank?\n - Note: unable to change this later");
30             if (answer){
31                 document.f.submit();
32             } else {
33                 return false;
34             }
35         }
36         if(eval(elembarcode+".value".indexOf('TEMP')) > 0 && eval(elemstatus+".value") == 2){
37             var answer = confirm("A barcode was not entered.\nDo you want to put in a barcode\nor do you want to use a system generated barcode?");
38             if (answer){
39                 document.f.submit();
40             } else {
41                 return false;
42             }
43         }
44     }
45     [% END %]
46 }
47 function unHideItems(index,labelindex, serialId) {
48         subfield = document.getElementById(index);
49         subfield.style.display = 'block';
50         label = document.getElementById(labelindex);
51         label.style.display='none';     
52
53         // Prefilling 995$h with serial enumeration/issue number
54         // Getting item id
55         itemid = $("fieldset#" + index + " div.cataloguing_additem_itemlist div.items").attr("id");
56         // Getting subfield id
57         subfieldid = "subfield" + itemid.substr(4) + "h";
58         // Setting text field 
59         $("#" + subfieldid + " input[type='text']").val($("#serialseq" + serialId).val());
60
61 }
62 function HideItems(index,labelindex) {
63         subfield = document.getElementById(index);
64         subfield.style.display = 'none';
65         label = document.getElementById(labelindex);
66         label.style.display='block';    
67 }
68 function setStatus(serialid){
69     $("#status"+serialid).val("2").attr("selected","selected");
70 }
71 function changeDate(elem, adate) {
72     $(elem).closest('tr').find('#expecteddate').val(adate);
73 }
74 function changeDate2(adate) {
75    var elem = document.getElementById("supexpecteddate");
76     elem.value = adate;
77 }
78
79 $(document).ready(function() {
80         $("form#serials_edit").submit(function() {
81             var total_errors = 0;
82         $(".subfield_line:visible", this).each(function() {
83             if ($("*[name=field_value]", this).val().length == 0 &&
84                 $("*[name=mandatory]", this).val() == 1) {
85                 total_errors++;
86             }
87         });
88         if ( total_errors > 0 ) {
89             var mes  = _("Form not submitted because of the following problem(s)");
90             mes += "\n------------------------------------------------------------------------------------\n";
91             mes += "\n- "+ total_errors+_(" mandatory fields empty (see bold subfields)");
92             alert(mes);
93             return false;
94         }
95     });
96 });
97 //]]>
98 </script>
99 <style type="text/css">#serials_edit fieldset.rows label, #serials_edit fieldset.rows span.label {
100         font-size : 100%;
101         width : 25%;
102 }
103 #serials_edit fieldset.rows select { max-width : 15em; }
104 #serials_edit fieldset.rows li {
105         padding-bottom : 3px;
106 }
107 #serials_edit .input_marceditor {
108         width : auto;
109 }</style>
110 </head>
111 <body id="ser_serials-edit" class="ser">
112 [% INCLUDE 'header.inc' %]
113 [% INCLUDE 'serials-search.inc' %]
114
115 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> &rsaquo; Serial edition <i>[% bibliotitle %] [% IF ( callnumber ) %]([% callnumber %])[% END %]</i></div>
116
117 <div id="doc3" class="yui-t2">
118    
119    <div id="bd">
120         <div id="yui-main">
121         <div class="yui-b">
122
123 <h1>Serial edition <i>[% bibliotitle %]</i>
124         [% IF location %] ( [% location %] ) [% END %]
125     [% IF ( callnumber ) %] callnumber: [% callnumber %][% END %]</h1>
126 [% IF internalnotes %]<p>Nonpublic note: [% internalnotes %]</p>[% END %]
127 <form method="post" name="f" action="serials-edit.pl" id="serials_edit">
128 <!--onsubmit="return barcode_check()">-->
129
130 [% IF ( Errors ) %]
131 <div class="dialog alert">
132 <ul>
133 [% IF ( barcode_not_unique ) %]<li>Error: Barcode not unique for [% FOREACH errse IN errseq %]serialseq [% errse.serialseq %]<br/>[% END %]</li>[% END %]
134 </ul>
135 </div>
136 [% END %]
137
138     <input type="hidden" name="op" value="serialchangestatus" />
139     [% FOREACH subscription IN subscriptions %]
140     <input type="hidden" name="subscriptionid" value="[% subscription.subscriptionid %]" />
141     [% END %]
142         <table>
143         <tr>
144                 <th>Numbered</th>
145                 <th>Published on</th>
146                 <th>Expected on</th>
147                 <th>Status</th>
148                 <th>Notes</th>
149         </tr>
150 [% FOREACH serialslis IN serialslist %]
151     [% UNLESS ( loop.odd ) %]
152     <tr class="highlight">
153     [% ELSE %]
154     <tr>
155     [% END %]
156         <td>
157             <input type="hidden" name="serialid" value="[% serialslis.serialid %]" />
158             <input type="hidden" name="biblionumber" value="[% serialslis.biblionumber %]" />
159             <input type="hidden" name="itemcount" value="[% serialslis.issuesatonce %]" />
160             <input type="hidden" name="user" value="[% serialslis.librarian %]" />
161             Issue <input type="text" name="serialseq" id="serialseq[% serialslis.serialid %]" value="[% serialslis.serialseq %]" size="20" maxlength="100" />
162         </td>
163         <td>
164             <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" />
165         </td>
166         <td>
167             <input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" />
168         </td>
169         <td>
170             [% IF ( serialslis.editdisable ) %]
171               <input type="hidden" name="status" id="status[% serialslis.serialid %]" value="[% serialslis.serstatus %]">
172               <select name="status" size="1"  disabled="disabled">
173             [% ELSE %]
174               [% IF ( serialslis.serialsadditems ) %]
175               <select name="status" size="1" id="status[% serialslis.serialid %]" onchange="if (this.value==2){unHideItems('items'+[% serialslis.subscriptionid %][% serialslis.serialid %],'label[% serialslis.subscriptionid %][% serialslis.serialid %]','[% serialslis.serialid %]'); changeDate(this, '[% serialslis.arriveddate %]')} else if (this.value==7){changeDate(this, '[% serialslis.arriveddate %]')} else { HideItems('items'+[% serialslis.subscriptionid %]+[% serialslis.serialid %],'label[% serialslis.subscriptionid %][% serialslis.serialid %]'); changeDate(this, '[% serialslis.planneddate %]')}" >
176                [% ELSE %]
177               <select name="status" size="1" id="status[% serialslis.serialid %]" onchange="if (this.value==2 || this.value==7){changeDate(this, '[% serialslis.arriveddate %]')} else {changeDate(this, '[% serialslis.planneddate %]')}" >
178                [% END %] 
179             [% END %]
180             [% IF ( serialslis.status1 ) %]
181               <option value="1" selected="selected">Expected</option>
182             [% END %]
183             [% IF ( serialslis.status2 ) %]
184               <option value="2" selected="selected">Arrived</option>
185             [% ELSE %]
186               <option value="2">Arrived</option>
187             [% END %]
188             [% IF ( serialslis.status3 ) %]
189               <option value="3" selected="selected">Late</option>
190             [% ELSE %]
191               <option value="3">Late</option>
192             [% END %]
193             [% IF ( serialslis.status4 ) %]
194               <option value="4" selected="selected">Missing</option>
195             [% ELSE %]
196               <option value="4">Missing</option>
197             [% END %]
198             [% IF ( serialslis.status7 ) %]
199               <option value="7" selected="selected">Claimed</option>
200             [% ELSE %]
201               <option value="7">Claimed</option>
202             [% END %]
203             [% IF ( serialslis.status5 ) %]
204               <option value="5" selected="selected">Not available</option>
205             [% ELSE %]
206               <option value="5">Not available</option>
207             [% END %]
208             [% IF ( serialslis.status6 ) %]
209               <option value="6" selected="selected">Delete</option>
210             [% ELSE %]
211               <option value="6">Delete</option>
212             [% END %]
213             [% IF serialslis.status8 %]
214               <option value="8" selected="selected">Stopped</option>
215             [% END %]
216             </select>
217
218         </td>
219         <td>
220             <input type="text" name="notes" value="[% serialslis.sernotes %]" size="20" maxlength="255" />
221         </td>
222     </tr>
223   [% UNLESS ( serialslis.subscriptionexpired ) %]
224   [% IF ( serialslis.serialsadditems ) %]
225           <tr>
226           <td colspan="5">
227       <a id="label[% serialslis.subscriptionid %][% serialslis.serialid %]" style="color: grey; font-size: 80%; cursor: pointer;"  onclick="unHideItems('items[% serialslis.subscriptionid %][% serialslis.serialid %]','label[% serialslis.subscriptionid %][% serialslis.serialid %]',  '[% serialslis.serialid %]');setStatus([% serialslis.serialid %]);">
228              Click to add item</a>
229         <fieldset class="rows" style="display:none;" id="items[% serialslis.subscriptionid %][% serialslis.serialid %]">
230         <legend><a style="cursor: pointer;"  onclick="HideItems('items[% serialslis.subscriptionid %][% serialslis.serialid %]','label[% serialslis.subscriptionid %][% serialslis.serialid %]')">
231                 Item</a>
232         </legend>
233           <div class="cataloguing_additem_itemlist">
234         [% FOREACH item IN serialslis.items %]
235         <div id="item[% item.serialid %][% item.countitems %]" class="items">
236         <ol>[% FOREACH iteminformatio IN item.iteminformation %]<li>
237                <div class="subfield_line" style="[% iteminformatio.hidden %]" id="subfield[% item.serialid %][% item.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
238                               
239                 <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
240                 [% iteminformatio.marc_value %]
241                 <input type="hidden" name="itemid" value="[% item.itemid %]" />
242                 <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
243                 <input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
244                 <input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
245                 <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
246                 [% IF ( iteminformatio.repeatable ) %]
247                     <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
248                         <img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
249                     </a>
250                 [% END %]
251         
252             </div></li>
253         [% END %]</ol></div><!-- /iteminformation -->
254         
255         <input type="hidden" name="moditem" value="" /> 
256         <input type="hidden" name="tag" value="[% item.itemtagfield %]" />
257         <input type="hidden" name="subfield" value="[% item.itemtagsubfield %]" />
258         <input type="hidden" name="serial" value="[% item.serialid %]" />
259         <input type="hidden" name="bibnum" value="[% item.biblionumber %]" />
260         <input type="hidden" name="itemid" value="[% item.itemid %]" />
261         <input type="hidden" name="field_value" value="[% item.itemnumber %]" />
262         [% END %] <!-- /items -->
263         </div>
264         </fieldset>
265     </td>
266     </tr>
267   [% END %]
268   [% END %]
269 [% END %]
270 [% FOREACH newserialloo IN newserialloop %]
271     [% UNLESS ( newserialloo.subscriptionexpired ) %]
272     <tr>
273         <td>
274             <input type="hidden" name="serialid" value="NEW" />
275             <input type="hidden" name="biblionumber" value="[% newserialloo.biblionumber %]" />
276             <input type="hidden" name="itemcount" value="[% newserialloo.issuesatonce %]" />
277             <input type="hidden" name="user" value="[% newserialloo.librarian %]" />
278             Supplemental issue <input type="text" name="serialseq" id="serialseq[% newserialloo.serialid %]" value="" size="20" maxlength="100" onchange="if (this.value!=''){unHideItems('items[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]', '[% newserialloo.serialid %]')} else {HideItems('items[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]')}" />
279         </td>
280         <td>
281             <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" />
282         </td>
283         <td>
284             <input type="text" name="planneddate" id="supexpecteddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" />
285         </td>
286         <td>
287             <select name="status" size="1" id="addstatus[% newserialloo.serialid %]" onchange="if (this.value==2){unHideItems('items'+'[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]','[% newserialloo.serialid %]'); changeDate2('[% newserialloo.arriveddate %]')} else if (this.value==7){changeDate('[% newserialloo.arriveddate %]')} else { HideItems('items'+'[% newserialloo.subscriptionid %]'+[% newserialloo.serialid %],'label[% serialslis.subscriptionid %][% serialslis.serialid %]'); changeDate2('[% serialslis.planneddate %]')}" >
288
289                     <option value="">----</option>
290                   [% IF ( newserialloo.status1 ) %]
291                     <option value="1" selected="selected">Expected</option>
292                   [% END %]
293                   [% IF ( newserialloo.status2 ) %]
294                     <option value="2" selected="selected">Arrived</option>
295                   [% ELSE %]
296                     <option value="2">Arrived</option>
297                   [% END %]
298                   [% IF ( newserialloo.status3 ) %]
299                     <option value="3" selected="selected">Late</option>
300                   [% ELSE %]
301                     <option value="3">Late</option>
302                   [% END %]
303                   [% IF ( newserialloo.status4 ) %]
304                     <option value="4" selected="selected">Missing</option>
305                   [% ELSE %]
306                     <option value="4">Missing</option>
307                   [% END %]
308                   [% IF ( newserialloo.status7 ) %]
309                     <option value="7" selected="selected">Claimed</option>
310                   [% ELSE %]
311                     <option value="7">Claimed</option>
312                   [% END %]
313                   [% IF ( newserialloo.status5 ) %]
314                     <option value="5" selected="selected">Not available</option>
315                   [% ELSE %]
316                     <option value="5">Not available</option>
317                   [% END %]
318                   [% IF ( newserialloo.status6 ) %]
319                     <option value="6" selected="selected">Delete</option>
320                   [% ELSE %]
321                     <option value="6">Delete</option>
322                   [% END %]
323                   [% IF newserialloo.status8 %]
324                     <option value="8" selected="selected">Stopped</option>
325                   [% END %]
326             </select>
327
328         </td>
329         <td>
330             <input type="text" name="notes" value="" size="20" maxlength="255" />
331         </td>
332     </tr>
333   [% IF ( newserialloo.serialsadditems ) %]
334           <tr>
335           <td colspan="5">
336       <a id="label[% newserialloo.subscriptionid %][% newserialloo.serialid %]" style="color: grey; font-size: 80%; cursor: pointer;"  onclick="unHideItems('items[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]', '[% newserialloo.serialid %]')">
337              Click to add item</a>
338         <fieldset  class="rows" style="display:none;" id="items[% newserialloo.subscriptionid %][% newserialloo.serialid %]">
339         <legend><a style="cursor: pointer;"  onclick="HideItems('items[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]')">
340                 Item</a>
341         </legend>
342           <div class="cataloguing_additem_itemlist">
343         <div id="item[% newserialloo.serialid %][% newserialloo.countitems %]" class="items">
344         <ol>[% FOREACH iteminformatio IN newserialloo.iteminformation %]<li>
345                <div class="subfield_line" style="[% iteminformatio.hidden %]" id="subfield[% newserialloo.serialid %][% newserialloo.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
346    
347                 <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
348                 [% iteminformatio.marc_value %]
349                 <input type="hidden" name="itemid" value="[% newserialloo.itemid %]" />
350                 <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
351                 <input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
352                 <input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
353                 <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
354                 [% IF ( iteminformatio.repeatable ) %]
355                     <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
356                         <img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
357                     </a>
358                 [% END %]
359         </div>
360        </li>[% END %]</ol>
361         
362         <input type="hidden" name="moditem" value="" /> 
363         <input type="hidden" name="tag" value="[% newserialloo.itemtagfield %]" />
364         <input type="hidden" name="subfield" value="[% newserialloo.itemtagsubfield %]" />
365         <input type="hidden" name="serial" value="[% newserialloo.serialid %]" />
366         <input type="hidden" name="bibnum" value="[% newserialloo.biblionumber %]" />
367         <input type="hidden" name="itemid" value="[% newserialloo.itemid %]" />
368         <input type="hidden" name="field_value" value="[% newserialloo.itemnumber %]" />
369         </div>
370         </div>
371         </fieldset>
372     </td>
373     </tr>
374   [% END %]
375   [% END %]
376 [% END %]
377
378 </table>
379     <fieldset class="action">
380        <input type="submit" onclick="return false;" style="display: none;" id="phony_submit" value="phony_submit" name="phony_submit" />
381        <input type="submit" value="Save"  class="button" accesskey="w" />
382        [% UNLESS ( serialsadditems ) %]&nbsp;&nbsp;<input type="button" onclick="javascript:generateReceive()" value="Multi receiving">[% END %]
383     </fieldset>
384 </form>
385
386 </div>
387 </div>
388
389 <div class="yui-b">
390 [% INCLUDE 'serials-menu.inc' %]
391 <ul>
392     [% FOREACH subscription IN subscriptions %]
393         <li><a href="serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]" title="serial collection for [% subscription.bibliotitle %]">Serial collection #[% subscription.subscriptionid %]</a></li>
394         <li><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" title="detail of the subscription">Subscription #[% subscription.subscriptionid %]</a></li>
395         [% IF ( subscription.abouttoexpire ) %]
396           [% UNLESS subscription.closed %]
397             <li><a href="#" onclick="javascript:popup([% subscription.subscriptionid %])">Renew #[% subscription.subscriptionid %]</a></li>
398           [% END %]
399         [% END %]
400     [% END %]
401     <li><a href="/cgi-bin/koha/catalogue/[% default_bib_view %].pl?biblionumber=[% biblionumber %]" title="go to [% bibliotitle %]">Show biblio</a></li></ul>
402 </div>
403 </div>
404 [% INCLUDE 'intranet-bottom.inc' %]