1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha › Serials › Serial edition [% bibliotitle %]</title>
3 [% INCLUDE 'doc-head-close.inc' %]
4 <script language="JavaScript" type="text/javascript">
6 function generateReceive() {
7 var subscriptionid = document.getElementsByName("subscriptionid")[0].value;
8 if(nbissues=prompt(_("How many issues do you want to receive ?"))){
9 document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
12 function popup(subscriptionid) {
13 window.open("subscription-renew.pl?subscriptionid="+subscriptionid,"subscription_renewal",'width=700,height=400,toolbar=false,scrollbars=yes');
16 function barcode_check(){
18 var count = [% count %];
19 for(var i=1;i<=count;i++){
21 var barcodenum = "barcode"+i;
22 var statusnum = "status"+i;
23 var elembarcode = "document.getElementById('"+barcodenum+"')";
24 var elemstatus = "document.getElementById('"+statusnum+"')";
25 // alert(elembarcode+"\n"+eval(elembarcode+".value));
26 // alert(elemstatus+"\n"+eval(elemstatus+".value"));
27 if(eval(elembarcode+".value") =='' && eval(elemstatus+".value") == 2){
28 var answer = confirm("Leave barcode blank?\n - Note: unable to change this later");
35 if(eval(elembarcode+".value".indexOf('TEMP')) > 0 && eval(elemstatus+".value") == 2){
36 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?");
46 function unHideItems(index,labelindex, serialId) {
47 subfield = document.getElementById(index);
48 subfield.style.display = 'block';
49 label = document.getElementById(labelindex);
50 label.style.display='none';
52 // Prefilling 995$h with serial enumeration/issue number
54 itemid = $("fieldset#" + index + " div.cataloguing_additem_itemlist div.items").attr("id");
55 // Getting subfield id
56 subfieldid = "subfield" + itemid.substr(4) + "h";
58 $("#" + subfieldid + " input[type='text']").val($("#serialseq" + serialId).val());
61 function HideItems(index,labelindex) {
62 subfield = document.getElementById(index);
63 subfield.style.display = 'none';
64 label = document.getElementById(labelindex);
65 label.style.display='block';
67 function setStatus(serialid){
68 $("#status"+serialid).val("2").attr("selected","selected");
70 function changeDate(elem, adate) {
71 $(elem).closest('tr').find('#expecteddate').val(adate);
73 function changeDate2(adate) {
74 var elem = document.getElementById("supexpecteddate");
77 function CloneSubfield(index){
78 var original = document.getElementById(index); //original <div>
79 var clone = original.cloneNode(true);
80 var new_key = CreateKey();
81 var old_id = original.getAttribute('id');
82 old_id=old_id.substr(12);
83 var new_id = old_id+new_key;
85 // set the attribute for the new 'div' subfields
86 var inputs = clone.getElementsByTagName('input');
87 var selects = clone.getElementsByTagName('select');
88 var textareas = clone.getElementsByTagName('textarea');
92 for(var i=0,len=inputs.length; i<len ; i++ ){
93 id_input = inputs[i].getAttribute('id')+new_key;
94 inputs[i].setAttribute('id',id_input);
95 inputs[i].setAttribute('name',inputs[i].getAttribute('name'));
99 for(var i=0,len=selects.length; i<len ; i++ ){
100 id_input = selects[i].getAttribute('id')+new_key;
101 selects[i].setAttribute('id',selects[i].getAttribute('id')+new_key);
102 selects[i].setAttribute('name',selects[i].getAttribute('name'));
106 for(var i=0,len=textareas.length; i<len ; i++ ){
107 id_input = textareas[i].getAttribute('id')+new_key;
108 textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
109 textareas[i].setAttribute('name',textareas[i].getAttribute('name'));
112 [% UNLESS ( advancedMARCEditor ) %]
113 // when cloning a subfield, reset its label too.
114 var label = clone.getElementsByTagName('label')[0];
115 label.setAttribute('for',id_input);
118 // setting a new if for the parent div
119 clone.setAttribute('id',new_id);
123 var spans = clone.getElementsByTagName('span');
125 for(var i = 0 ,lenspans = spans.length ; i < lenspans ; i++){
126 if(spans[i].getAttribute('class') == 'buttonPlus'){
127 CloneButtonPlus = spans[i];
128 CloneButtonPlus.setAttribute('onclick',"CloneSubfield('" + new_id + "')");
129 var buttonUp = clone.getElementsByTagName('img')[0];
130 buttonUp.setAttribute('onclick',"upSubfield('" + new_id + "')");
136 // do nothig if ButtonPlus & CloneButtonPlus don't exist.
138 // insert this line on the page
139 original.parentNode.insertBefore(clone,original.nextSibling);
141 $(document).ready(function() {
142 $("form#serials_edit").submit(function() {
143 var total_errors = 0;
144 $(".subfield_line:visible", this).each(function() {
145 if ($("*[name=field_value]", this).val().length == 0 &&
146 $("*[name=mandatory]", this).val() == 1) {
150 if ( total_errors > 0 ) {
151 var mes = _("Form not submitted because of the following problem(s)");
152 mes += "\n------------------------------------------------------------------------------------\n";
153 mes += "\n- "+ total_errors+_(" mandatory fields empty (see bold subfields)");
161 <style type="text/css">#serials_edit fieldset.rows label, #serials_edit fieldset.rows span.label {
165 #serials_edit fieldset.rows select { max-width : 15em; }
166 #serials_edit fieldset.rows li {
167 padding-bottom : 3px;
169 #serials_edit .input_marceditor {
173 <body id="ser_serials-edit" class="ser">
174 [% INCLUDE 'header.inc' %]
175 [% INCLUDE 'serials-search.inc' %]
177 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Serial edition <i>[% bibliotitle %] [% IF ( callnumber ) %]([% callnumber %])[% END %]</i></div>
179 <div id="doc3" class="yui-t2">
185 <h1>Serial edition <i>[% bibliotitle %]</i>
186 [% IF location %] ( [% location %] ) [% END %]
187 [% IF ( callnumber ) %] callnumber: [% callnumber %][% END %]</h1>
188 [% IF internalnotes %]<p>Nonpublic note: [% internalnotes %]</p>[% END %]
189 <form method="post" name="f" action="serials-edit.pl" id="serials_edit">
190 <!--onsubmit="return barcode_check()">-->
193 <div class="dialog alert">
195 [% IF ( barcode_not_unique ) %]<li>Error: Barcode not unique for [% FOREACH errse IN errseq %]serialseq [% errse.serialseq %]<br/>[% END %]</li>[% END %]
200 <input type="hidden" name="op" value="serialchangestatus" />
201 [% FOREACH subscription IN subscriptions %]
202 <input type="hidden" name="subscriptionid" value="[% subscription.subscriptionid %]" />
207 <th>Published on</th>
212 [% FOREACH serialslis IN serialslist %]
213 [% UNLESS ( loop.odd ) %]
214 <tr class="highlight">
219 <input type="hidden" name="serialid" value="[% serialslis.serialid %]" />
220 <input type="hidden" name="biblionumber" value="[% serialslis.biblionumber %]" />
221 <input type="hidden" name="itemcount" value="[% serialslis.issuesatonce %]" />
222 <input type="hidden" name="user" value="[% serialslis.librarian %]" />
223 Issue <input type="text" name="serialseq" id="serialseq[% serialslis.serialid %]" value="[% serialslis.serialseq %]" size="20" maxlength="100" />
226 <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" />
229 <input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" />
232 [% IF ( serialslis.editdisable ) %]
233 <input type="hidden" name="status" id="status[% serialslis.serialid %]" value="1">
234 <select name="status" size="1" disabled="disabled">
236 [% IF ( serialslis.serialsadditems ) %]
237 <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 %]')}" >
239 <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 %]')}" >
242 [% IF ( serialslis.status1 ) %]
243 <option value="1" selected="selected">Expected</option>
245 [% IF ( serialslis.status2 ) %]
246 <option value="2" selected="selected">Arrived</option>
248 <option value="2">Arrived</option>
250 [% IF ( serialslis.status3 ) %]
251 <option value="3" selected="selected">Late</option>
253 <option value="3">Late</option>
255 [% IF ( serialslis.status4 ) %]
256 <option value="4" selected="selected">Missing</option>
258 <option value="4">Missing</option>
260 [% IF ( serialslis.status7 ) %]
261 <option value="7" selected="selected">Claimed</option>
263 <option value="7">Claimed</option>
265 [% IF ( serialslis.status5 ) %]
266 <option value="5" selected="selected">Not available</option>
268 <option value="5">Not available</option>
270 [% IF ( serialslis.status6 ) %]
271 <option value="6" selected="selected">Delete</option>
273 <option value="6">Delete</option>
279 <input type="text" name="notes" value="[% serialslis.sernotes %]" size="20" maxlength="255" />
282 [% UNLESS ( serialslis.subscriptionexpired ) %]
283 [% IF ( serialslis.serialsadditems ) %]
286 <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 %]);">
287 Click to add item</a>
288 <fieldset class="rows" style="display:none;" id="items[% serialslis.subscriptionid %][% serialslis.serialid %]">
289 <legend><a style="cursor: pointer;" onclick="HideItems('items[% serialslis.subscriptionid %][% serialslis.serialid %]','label[% serialslis.subscriptionid %][% serialslis.serialid %]')">
292 <div class="cataloguing_additem_itemlist">
293 [% FOREACH item IN serialslis.items %]
294 <div id="item[% item.serialid %][% item.countitems %]" class="items">
295 <ol>[% FOREACH iteminformatio IN item.iteminformation %]<li>
296 <div class="subfield_line" style="[% iteminformatio.hidden %];" id="subfield[% item.serialid %][% item.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
298 <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
299 [% iteminformatio.marc_value %]
300 <input type="hidden" name="itemid" value="[% item.itemid %]" />
301 <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
302 <input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
303 <input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
304 <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
305 [% IF ( iteminformatio.ITEM_SUBFIELDS_ARE_NOT_REPEATABLE ) %]
306 <span class="buttonPlus" onclick="CloneSubfield('subfield[% item.serialid %][% item.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]')">+</span>
310 [% END %]</ol></div><!-- /iteminformation -->
312 <input type="hidden" name="moditem" value="" />
313 <input type="hidden" name="tag" value="[% item.itemtagfield %]" />
314 <input type="hidden" name="subfield" value="[% item.itemtagsubfield %]" />
315 <input type="hidden" name="serial" value="[% item.serialid %]" />
316 <input type="hidden" name="bibnum" value="[% item.biblionumber %]" />
317 <input type="hidden" name="itemid" value="[% item.itemid %]" />
318 <input type="hidden" name="field_value" value="[% item.itemnumber %]" />
319 [% END %] <!-- /items -->
327 [% FOREACH newserialloo IN newserialloop %]
328 [% UNLESS ( newserialloo.subscriptionexpired ) %]
331 <input type="hidden" name="serialid" value="NEW" />
332 <input type="hidden" name="biblionumber" value="[% newserialloo.biblionumber %]" />
333 <input type="hidden" name="itemcount" value="[% newserialloo.issuesatonce %]" />
334 <input type="hidden" name="user" value="[% newserialloo.librarian %]" />
335 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 %]')}" />
338 <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" />
341 <input type="text" name="planneddate" id="supexpecteddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" />
344 <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 %]')}" >
346 <option value="">----</option>
347 [% IF ( newserialloo.status1 ) %]
348 <option value="1" selected="selected">Expected</option>
350 [% IF ( newserialloo.status2 ) %]
351 <option value="2" selected="selected">Arrived</option>
353 <option value="2">Arrived</option>
355 [% IF ( newserialloo.status3 ) %]
356 <option value="3" selected="selected">Late</option>
358 <option value="3">Late</option>
360 [% IF ( newserialloo.status4 ) %]
361 <option value="4" selected="selected">Missing</option>
363 <option value="4">Missing</option>
365 [% IF ( newserialloo.status7 ) %]
366 <option value="7" selected="selected">Claimed</option>
368 <option value="7">Claimed</option>
370 [% IF ( newserialloo.status5 ) %]
371 <option value="5" selected="selected">Not available</option>
373 <option value="5">Not available</option>
375 [% IF ( newserialloo.status6 ) %]
376 <option value="6" selected="selected">Delete</option>
378 <option value="6">Delete</option>
384 <input type="text" name="notes" value="" size="20" maxlength="255" />
387 [% IF ( newserialloo.serialsadditems ) %]
390 <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 %]')">
391 Click to add item</a>
392 <fieldset class="rows" style="display:none;" id="items[% newserialloo.subscriptionid %][% newserialloo.serialid %]">
393 <legend><a style="cursor: pointer;" onclick="HideItems('items[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]')">
396 <div class="cataloguing_additem_itemlist">
397 <div id="item[% newserialloo.serialid %][% newserialloo.countitems %]" class="items">
398 <ol>[% FOREACH iteminformatio IN newserialloo.iteminformation %]<li>
399 <div class="subfield_line" style="[% iteminformatio.hidden %];" id="subfield[% newserialloo.serialid %][% newserialloo.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
401 <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
402 [% iteminformatio.marc_value %]
403 <input type="hidden" name="itemid" value="[% newserialloo.itemid %]" />
404 <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
405 <input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
406 <input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
407 <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
408 [% IF ( iteminformatio.ITEM_SUBFIELDS_ARE_NOT_REPEATABLE ) %]
409 <span class="buttonPlus" onclick="CloneSubfield('subfield[% newserialloo.serialid %][% newserialloo.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]')">+</span>
414 <input type="hidden" name="moditem" value="" />
415 <input type="hidden" name="tag" value="[% newserialloo.itemtagfield %]" />
416 <input type="hidden" name="subfield" value="[% newserialloo.itemtagsubfield %]" />
417 <input type="hidden" name="serial" value="[% newserialloo.serialid %]" />
418 <input type="hidden" name="bibnum" value="[% newserialloo.biblionumber %]" />
419 <input type="hidden" name="itemid" value="[% newserialloo.itemid %]" />
420 <input type="hidden" name="field_value" value="[% newserialloo.itemnumber %]" />
431 <fieldset class="action"><input type="submit" value="Save" class="button" accesskey="w" />
432 [% UNLESS ( serialsadditems ) %] <input type="button" onclick="javascript:generateReceive()" value="Multi receiving">[% END %]
439 [% INCLUDE 'serials-menu.inc' %]
441 [% FOREACH subscription IN subscriptions %]
442 <li><a href="serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]" title="serial collection for [% subscription.bibliotitle %]">Serial collection #[% subscription.subscriptionid %]</a></li>
443 <li><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" title="detail of the subscription">Subscription #[% subscription.subscriptionid %]</a></li>
444 [% IF ( subscription.abouttoexpire ) %]
445 <li><a href="#" onclick="javascript:popup([% subscription.subscriptionid %])">Renew #[% subscription.subscriptionid %]</a></li>
448 <li><a href="/cgi-bin/koha/catalogue/[% default_bib_view %].pl?biblionumber=[% biblionumber %]" title="go to [% bibliotitle %]">Show biblio</a></li></ul>
451 [% INCLUDE 'intranet-bottom.inc' %]