+[% USE AuthorisedValues %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Serials › Serial edition [% bibliotitle %]</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/js/cataloging.js"></script>
+<script type="text/javascript" src="[% interface %]/[% theme %]/js/cataloging.js"></script>
+<script type="text/javascript" src="[% interface %]/[% theme %]/js/prevent_submit.js"></script>
+[% INCLUDE 'calendar.inc' %]
<script language="JavaScript" type="text/javascript">
-var nav = window.Event ? true : false;
-if (nav) {
- window.captureEvents(Event.KEYDOWN);
- window.onkeydown = NetscapeEventHandler_KeyDown;
-} else {
- document.onkeydown = IEEventHandler_KeyDown;
-}
-
-function NetscapeEventHandler_KeyDown(e) {
- if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
- return true;
-}
-
-function IEEventHandler_KeyDown() {
- if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
- return false;
- return true;
-}
//<![CDATA[
function generateReceive() {
var subscriptionid = document.getElementsByName("subscriptionid")[0].value;
window.open("subscription-renew.pl?subscriptionid="+subscriptionid,"subscription_renewal",'width=700,height=400,toolbar=false,scrollbars=yes');
}
-function barcode_check(){
- [% IF ( count ) %]
- var count = [% count %];
- for(var i=1;i<=count;i++){
-
- var barcodenum = "barcode"+i;
- var statusnum = "status"+i;
- var elembarcode = "document.getElementById('"+barcodenum+"')";
- var elemstatus = "document.getElementById('"+statusnum+"')";
-// alert(elembarcode+"\n"+eval(elembarcode+".value));
-// alert(elemstatus+"\n"+eval(elemstatus+".value"));
- if(eval(elembarcode+".value") =='' && eval(elemstatus+".value") == 2){
- var answer = confirm("Leave barcode blank?\n - Note: unable to change this later");
- if (answer){
- document.f.submit();
- } else {
- return false;
- }
- }
- if(eval(elembarcode+".value".indexOf('TEMP')) > 0 && eval(elemstatus+".value") == 2){
- 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?");
- if (answer){
- document.f.submit();
- } else {
- return false;
- }
- }
- }
- [% END %]
-}
function unHideItems(index,labelindex, serialId) {
subfield = document.getElementById(index);
subfield.style.display = 'block';
label = document.getElementById(labelindex);
label.style.display='none';
- // Prefilling 995$h with serial enumeration/issue number
- // Getting item id
- itemid = $("fieldset#" + index + " div.cataloguing_additem_itemlist div.items").attr("id");
- // Getting subfield id
- subfieldid = "subfield" + itemid.substr(4) + "h";
- // Setting text field
- $("#" + subfieldid + " input[type='text']").val($("#serialseq" + serialId).val());
+ // Prefilling enumcron subfield with serial enumeration/issue number
+ // Getting item div
+ item_div = $("fieldset#" + index + " div.cataloguing_additem_itemlist div.items");
+ // Getting subfield with enumcron mapping
+ subfield_div = $(item_div).find("input[name='kohafield'][value='items.enumchron']").parent();
+ // Setting text field
+ $(subfield_div).children("input[type='text'][name='field_value']").val($("#serialseq" + serialId).val());
}
function HideItems(index,labelindex) {
$("#status"+serialid).val("2").attr("selected","selected");
}
function changeDate(elem, adate) {
- $(elem).closest('tr').find('#expecteddate').val(adate);
-}
-function changeDate2(adate) {
- var elem = document.getElementById("supexpecteddate");
- elem.value = adate;
+ $(elem).closest('tr').find('[name=planneddate]').val(adate);
}
$(document).ready(function() {
- $("form#serials_edit").submit(function() {
- var total_errors = 0;
- $(".subfield_line:visible", this).each(function() {
- if ($("*[name=field_value]", this).val().length == 0 &&
- $("*[name=mandatory]", this).val() == 1) {
- total_errors++;
- }
+ $("form#serials_edit").submit(function() {
+ var total_errors = 0;
+ $(this).find(".cataloguing_additem_itemlist:visible").each(function(){
+ total_errors = total_errors + CheckMandatorySubfields(this);
});
if ( total_errors > 0 ) {
var mes = _("Form not submitted because of the following problem(s)");
mes += "\n------------------------------------------------------------------------------------\n";
- mes += "\n- "+ total_errors+_(" mandatory fields empty (see bold subfields)");
+ mes += "\n- " + _("%s mandatory fields empty (highlighted)").format(total_errors);
alert(mes);
return false;
}
+ return true;
});
+
+ $(".datepicker").datepicker();
});
//]]>
</script>
<div class="yui-b">
<h1>Serial edition <i>[% bibliotitle %]</i>
- [% IF location %] ( [% location %] ) [% END %]
+ [% IF location %] ([% AuthorisedValues.GetByCode('LOC', location) %])[% END %]
[% IF ( callnumber ) %] callnumber: [% callnumber %][% END %]</h1>
[% IF internalnotes %]<p>Nonpublic note: [% internalnotes %]</p>[% END %]
<form method="post" name="f" action="serials-edit.pl" id="serials_edit">
-<!--onsubmit="return barcode_check()">-->
[% IF ( Errors ) %]
<div class="dialog alert">
<tr>
<th>Numbered</th>
<th>Published on</th>
+ <th>Published on (text)</th>
<th>Expected on</th>
<th>Status</th>
<th>Notes</th>
</tr>
[% FOREACH serialslis IN serialslist %]
- [% UNLESS ( loop.odd ) %]
- <tr class="highlight">
- [% ELSE %]
<tr>
- [% END %]
<td>
<input type="hidden" name="serialid" value="[% serialslis.serialid %]" />
<input type="hidden" name="biblionumber" value="[% serialslis.biblionumber %]" />
Issue <input type="text" name="serialseq" id="serialseq[% serialslis.serialid %]" value="[% serialslis.serialseq %]" size="20" maxlength="100" />
</td>
<td>
- <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" />
+ <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
- <input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" />
+ <input type="text" name="publisheddatetext" value="[% serialslis.publisheddatetext %]" size="10" maxlength="100" />
+ </td>
+ <td>
+ <input type="text" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
[% IF ( serialslis.editdisable ) %]
[% END %]
[% IF ( serialslis.status1 ) %]
<option value="1" selected="selected">Expected</option>
+ [% ELSE %]
+ <option value="1">Expected</option>
[% END %]
[% IF ( serialslis.status2 ) %]
<option value="2" selected="selected">Arrived</option>
[% ELSE %]
<option value="4">Missing</option>
[% END %]
+ [% IF ( serialslis.status41 ) %]
+ <option value="41" selected="selected">Missing (never received)</option>
+ [% ELSE %]
+ <option value="41">Missing (never received)</option>
+ [% END %]
+ [% IF ( serialslis.status42 ) %]
+ <option value="42" selected="selected">Missing (sold out)</option>
+ [% ELSE %]
+ <option value="42">Missing (sold out)</option>
+ [% END %]
+ [% IF ( serialslis.status43 ) %]
+ <option value="43" selected="selected">Missing (damaged)</option>
+ [% ELSE %]
+ <option value="43">Missing (damaged)</option>
+ [% END %]
+ [% IF ( serialslis.status44 ) %]
+ <option value="44" selected="selected">Missing (lost)</option>
+ [% ELSE %]
+ <option value="44">Missing (lost)</option>
+ [% END %]
[% IF ( serialslis.status7 ) %]
<option value="7" selected="selected">Claimed</option>
[% ELSE %]
[% UNLESS ( serialslis.subscriptionexpired ) %]
[% IF ( serialslis.serialsadditems ) %]
<tr>
- <td colspan="5">
+ <td colspan="6">
<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 %]);">
Click to add item</a>
<fieldset class="rows" style="display:none;" id="items[% serialslis.subscriptionid %][% serialslis.serialid %]">
<div id="item[% item.serialid %][% item.countitems %]" class="items">
<ol>[% FOREACH iteminformatio IN item.iteminformation %]<li>
<div class="subfield_line" style="[% iteminformatio.hidden %]" id="subfield[% item.serialid %][% item.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
-
- <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
+ [% IF (iteminformatio.mandatory) %]
+ <label class="required">[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
+ [% ELSE %]
+ <label>[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
+ [% END %]
+ [% IF ( iteminformatio.marc_value.type == 'select' ) %]
+ <select name="field_value" size="1">
+ [% FOREACH value IN iteminformatio.marc_value.values %]
+ [% IF ( value == iteminformatio.marc_value.default ) %]
+ <option value="[% value %]" selected="selected">[% iteminformatio.marc_value.labels.$value %]</option>
+ [% ELSE %]
+ <option value="[% value %]">[% iteminformatio.marc_value.labels.$value %]</option>
+ [% END %]
+ [% END %]
+ </select>
+ [% ELSE %]
[% iteminformatio.marc_value %]
+ [% END %]
<input type="hidden" name="itemid" value="[% item.itemid %]" />
<input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
<input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
<input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
[% IF ( iteminformatio.repeatable ) %]
<a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
- <img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
+ <img src="[% interface %]/[% theme %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
</a>
[% END %]
-
+ [% IF ( iteminformatio.mandatory ) %] <span class="required">Required</span>[% END %]
</div></li>
[% END %]</ol></div><!-- /iteminformation -->
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 %]')}" />
</td>
<td>
- <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" />
+ <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" class="datepicker" />
+ </td>
+ <td>
+ <input type="text" name="publisheddatetext" value="[% newserialloo.publisheddatetext %]" size="10" maxlength="100" />
</td>
<td>
- <input type="text" name="planneddate" id="supexpecteddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" />
+ <input type="text" name="planneddate" value="[% newserialloo.planneddate %]" size="10" maxlength="15" class="datepicker" />
</td>
<td>
- <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 %]')}" >
+ <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 %]')}" >
<option value="">----</option>
[% IF ( newserialloo.status1 ) %]
[% ELSE %]
<option value="4">Missing</option>
[% END %]
+ [% IF ( newserialloo.status41 ) %]
+ <option value="41" selected="selected">Missing (never received)</option>
+ [% ELSE %]
+ <option value="41">Missing (never received)</option>
+ [% END %]
+ [% IF ( newserialloo.status42 ) %]
+ <option value="42" selected="selected">Missing (sold out)</option>
+ [% ELSE %]
+ <option value="42">Missing (sold out)</option>
+ [% END %]
+ [% IF ( newserialloo.status43 ) %]
+ <option value="43" selected="selected">Missing (damaged)</option>
+ [% ELSE %]
+ <option value="43">Missing (damaged)</option>
+ [% END %]
+ [% IF ( newserialloo.status44 ) %]
+ <option value="44" selected="selected">Missing (lost)</option>
+ [% ELSE %]
+ <option value="44">Missing (lost)</option>
+ [% END %]
[% IF ( newserialloo.status7 ) %]
<option value="7" selected="selected">Claimed</option>
[% ELSE %]
</tr>
[% IF ( newserialloo.serialsadditems ) %]
<tr>
- <td colspan="5">
+ <td colspan="6">
<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 %]')">
Click to add item</a>
<fieldset class="rows" style="display:none;" id="items[% newserialloo.subscriptionid %][% newserialloo.serialid %]">
<div id="item[% newserialloo.serialid %][% newserialloo.countitems %]" class="items">
<ol>[% FOREACH iteminformatio IN newserialloo.iteminformation %]<li>
<div class="subfield_line" style="[% iteminformatio.hidden %]" id="subfield[% newserialloo.serialid %][% newserialloo.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
-
- <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
+ [% IF (iteminformatio.mandatory) %]
+ <label class="required">[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
+ [% ELSE %]
+ <label>[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
+ [% END %]
+ [% IF ( iteminformatio.marc_value.type == 'select' ) %]
+ <select name="field_value" size="1">
+ [% FOREACH value IN iteminformatio.marc_value.values %]
+ [% IF ( value == iteminformatio.marc_value.default ) %]
+ <option value="[% value %]" selected="selected">[% iteminformatio.marc_value.labels.$value %]</option>
+ [% ELSE %]
+ <option value="[% value %]">[% iteminformatio.marc_value.labels.$value %]</option>
+ [% END %]
+ [% END %]
+ </select>
+ [% ELSE %]
[% iteminformatio.marc_value %]
+ [% END %]
<input type="hidden" name="itemid" value="[% newserialloo.itemid %]" />
<input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
<input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
<input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
[% IF ( iteminformatio.repeatable ) %]
<a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
- <img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
+ <img src="[% interface %]/[% theme %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
</a>
[% END %]
+ [% IF ( iteminformatio.mandatory ) %] <span class="required">Required</span>[% END %]
</div>
</li>[% END %]</ol>