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