Bug 15911: Use noEnterSubmit CSS class instead of prevent_submit.js
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / serials / serials-edit.tt
index a6fd962..0423a41 100644 (file)
@@ -1,62 +1,38 @@
+[% USE raw %]
+[% USE Asset %]
+[% USE AuthorisedValues %]
 [% INCLUDE 'doc-head-open.inc' %]
-<title>Koha &rsaquo; Serials &rsaquo; Serial edition [% bibliotitle %]</title>
+<title>Koha &rsaquo; Serials &rsaquo; Serial edition [% bibliotitle | html %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
-<script language="JavaScript" type="text/javascript">
+[% Asset.js("js/cataloging.js") | $raw %]
+[% INCLUDE 'calendar.inc' %]
+<script>
 //<![CDATA[
-function generateReceive() {
-    var subscriptionid =  document.getElementsByName("subscriptionid")[0].value;
-    if(nbissues=prompt(_("How many issues do you want to receive ?"))){
-        document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
-    }
-}
+    $(document).ready(function() {
+        $('#multi_receiving').on('show', function () {
+           $(this).find(".modal-body").html($(".serials_multi_receiving")[0].outerHTML);
+        });
+    });
+
 function popup(subscriptionid) {
        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 if no saved default value
+    if(! $(subfield_div).children("input[type='text'][name='field_value']").val() ){
+        $(subfield_div).children("input[type='text'][name='field_value']").val($("#serialseq" + serialId).val());
+    }
 }
 function HideItems(index,labelindex) {
        subfield = document.getElementById(index);
@@ -68,97 +44,30 @@ function setStatus(serialid){
     $("#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;
-}
-function CloneSubfield(index){
-    var original = document.getElementById(index); //original <div>
-    var clone = original.cloneNode(true);
-    var new_key = CreateKey();
-    var old_id =  original.getAttribute('id');
-    old_id=old_id.substr(12);
-    var new_id  = old_id+new_key;
-    
-    // set the attribute for the new 'div' subfields
-    var inputs     = clone.getElementsByTagName('input');
-    var selects    = clone.getElementsByTagName('select');
-    var textareas  = clone.getElementsByTagName('textarea');
-        
-    // input
-    var id_input = "";
-    for(var i=0,len=inputs.length; i<len ; i++ ){
-        id_input = inputs[i].getAttribute('id')+new_key;
-        inputs[i].setAttribute('id',id_input);
-        inputs[i].setAttribute('name',inputs[i].getAttribute('name'));
-    }
-    
-    // select 
-    for(var i=0,len=selects.length; i<len ; i++ ){
-        id_input = selects[i].getAttribute('id')+new_key;
-        selects[i].setAttribute('id',selects[i].getAttribute('id')+new_key);
-        selects[i].setAttribute('name',selects[i].getAttribute('name'));
-    }
-    
-    // textarea
-    for(var i=0,len=textareas.length; i<len ; i++ ){
-        id_input = textareas[i].getAttribute('id')+new_key;
-        textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
-        textareas[i].setAttribute('name',textareas[i].getAttribute('name'));
-    }
-    
-    [% UNLESS ( advancedMARCEditor ) %]
-    // when cloning a subfield, reset its label too.
-    var label = clone.getElementsByTagName('label')[0];
-    label.setAttribute('for',id_input);
-    [% END %]
-    
-    // setting a new if for the parent div
-    clone.setAttribute('id',new_id);
-    
-    var CloneButtonPlus;
-    try {
-      var spans = clone.getElementsByTagName('span');
-      if(spans.length){
-          for(var i = 0 ,lenspans = spans.length ; i < lenspans ; i++){
-            if(spans[i].getAttribute('class') == 'buttonPlus'){
-                    CloneButtonPlus = spans[i];
-                    CloneButtonPlus.setAttribute('onclick',"CloneSubfield('" + new_id + "')");
-                    var buttonUp = clone.getElementsByTagName('img')[0];
-                    buttonUp.setAttribute('onclick',"upSubfield('" + new_id + "')");
-                }
-            }
-        }
-    }
-    catch(e){
-        // do nothig if ButtonPlus & CloneButtonPlus don't exist.
-    }
-    // insert this line on the page
-    original.parentNode.insertBefore(clone,original.nextSibling);
+    $(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>
-<style type="text/css">#serials_edit fieldset.rows label, #serials_edit fieldset.rows span.label {
+<style>#serials_edit fieldset.rows label, #serials_edit fieldset.rows span.label {
        font-size : 100%;
        width : 25%;
 }
@@ -174,148 +83,190 @@ $(document).ready(function() {
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'serials-search.inc' %]
 
-<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>
+<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 | html %] [% IF ( callnumber ) %]([% callnumber | html %])[% END %]</i></div>
 
-<div id="doc3" class="yui-t2">
-   
-   <div id="bd">
-       <div id="yui-main">
-       <div class="yui-b">
+<div class="main container-fluid">
+    <div class="row">
+        <div class="col-sm-10 col-sm-push-2">
+            <main>
 
-<h1>Serial edition <i>[% bibliotitle %]</i>
-       [% IF location %] ( [% 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()">-->
+    [% INCLUDE 'modals/serials_multi_receiving.inc' %]
+
+<h1>Serial edition <i>[% bibliotitle | html %]</i>
+    [% IF location %] ([% AuthorisedValues.GetByCode('LOC', location) | html %])[% END %]
+    [% IF ( callnumber ) %] callnumber: [% callnumber | html %][% END %]</h1>
+[% IF internalnotes %]<p>Nonpublic note: [% internalnotes | html %]</p>[% END %]
+<form method="post" name="f" class="noEnterSubmit" action="serials-edit.pl" id="serials_edit">
 
 [% IF ( Errors ) %]
 <div class="dialog alert">
 <ul>
-[% IF ( barcode_not_unique ) %]<li>Error: Barcode not unique for [% FOREACH errse IN errseq %]serialseq [% errse.serialseq %]<br/>[% END %]</li>[% END %]
+[% IF ( barcode_not_unique ) %]<li>Error: Barcode not unique for [% FOREACH errse IN errseq %]serialseq [% errse.serialseq | html %]<br/>[% END %]</li>[% END %]
 </ul>
 </div>
 [% END %]
 
     <input type="hidden" name="op" value="serialchangestatus" />
     [% FOREACH subscription IN subscriptions %]
-    <input type="hidden" name="subscriptionid" value="[% subscription.subscriptionid %]" />
+    <input type="hidden" name="subscriptionid" value="[% subscription.subscriptionid | html %]" />
     [% END %]
        <table>
        <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 %]" />
-            <input type="hidden" name="itemcount" value="[% serialslis.issuesatonce %]" />
-            <input type="hidden" name="user" value="[% serialslis.librarian %]" />
-            Issue <input type="text" name="serialseq" id="serialseq[% serialslis.serialid %]" value="[% serialslis.serialseq %]" size="20" maxlength="100" />
+            <input type="hidden" name="serialid" value="[% serialslis.serialid | html %]" />
+            <input type="hidden" name="biblionumber" value="[% serialslis.biblionumber | html %]" />
+            <input type="hidden" name="itemcount" value="[% serialslis.issuesatonce | html %]" />
+            <input type="hidden" name="user" value="[% serialslis.librarian | html %]" />
+            Issue <input type="text" name="serialseq" id="serialseq[% serialslis.serialid | html %]" value="[% serialslis.serialseq | html %]" size="20" maxlength="100" />
+        </td>
+        <td>
+            <input type="text" name="publisheddate" value="[% serialslis.publisheddate | html %]" size="10" maxlength="15" class="datepicker" />
         </td>
         <td>
-            <input type="text" name="publisheddate" value="[% serialslis.publisheddate %]" size="10" maxlength="15" />
+            <input type="text" name="publisheddatetext" value="[% serialslis.publisheddatetext | html %]" size="10" maxlength="100" />
         </td>
         <td>
-            <input type="text" id="expecteddate" name="planneddate" value="[% serialslis.planneddate %]" size="10" maxlength="15" />
+            <input type="text" name="planneddate" value="[% serialslis.planneddate | html %]" size="10" maxlength="15" class="datepicker" />
         </td>
         <td>
             [% IF ( serialslis.editdisable ) %]
-              <input type="hidden" name="status" id="status[% serialslis.serialid %]" value="1">
+              <input type="hidden" name="status" id="status[% serialslis.serialid | html %]" value="[% serialslis.serstatus | html %]">
               <select name="status" size="1"  disabled="disabled">
             [% ELSE %]
               [% IF ( serialslis.serialsadditems ) %]
-              <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 %]')}" >
+              <select name="status" size="1" id="status[% serialslis.serialid | html %]" onchange="if (this.value==2){unHideItems('items'+[% serialslis.subscriptionid | html %][% serialslis.serialid | html %],'label[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]','[% serialslis.serialid | html %]'); changeDate(this, '[% serialslis.arriveddate | html %]')} else if (this.value==7){changeDate(this, '[% serialslis.arriveddate | html %]')} else { HideItems('items'+[% serialslis.subscriptionid | html %]+[% serialslis.serialid | html %],'label[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]'); changeDate(this, '[% serialslis.planneddate | html %]')}" >
                [% ELSE %]
-              <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 %]')}" >
+              <select name="status" size="1" id="status[% serialslis.serialid | html %]" onchange="if (this.value==2 || this.value==7){changeDate(this, '[% serialslis.arriveddate | html %]')} else {changeDate(this, '[% serialslis.planneddate | html %]')}" >
                [% END %] 
             [% END %]
-  [% IF ( serialslis.status1 ) %]
-                    <option value="1" selected="selected">Expected</option>
-  [% END %]
-  [% IF ( serialslis.status2 ) %]
-                    <option value="2" selected="selected">Arrived</option>
-  [% ELSE %]
-                    <option value="2">Arrived</option>
-  [% END %]
-  [% IF ( serialslis.status3 ) %]
-                    <option value="3" selected="selected">Late</option>
-  [% ELSE %]
-                    <option value="3">Late</option>
-  [% END %]
-  [% IF ( serialslis.status4 ) %]
-                    <option value="4" selected="selected">Missing</option>
-  [% ELSE %]
-                    <option value="4">Missing</option>
-  [% END %]
-  [% IF ( serialslis.status7 ) %]
-                    <option value="7" selected="selected">Claimed</option>
-  [% ELSE %]
-                    <option value="7">Claimed</option>
-  [% END %]
-  [% IF ( serialslis.status5 ) %]
-                    <option value="5" selected="selected">Not available</option>
-  [% ELSE %]
-                    <option value="5">Not available</option>
-  [% END %]
-  [% IF ( serialslis.status6 ) %]
-                    <option value="6" selected="selected">Delete</option>
-  [% ELSE %]
-                    <option value="6">Delete</option>
-  [% 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="2">Arrived</option>
+            [% END %]
+            [% IF ( serialslis.status3 ) %]
+              <option value="3" selected="selected">Late</option>
+            [% ELSE %]
+              <option value="3">Late</option>
+            [% END %]
+            [% IF ( serialslis.status4 ) %]
+              <option value="4" selected="selected">Missing</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 %]
+              <option value="7">Claimed</option>
+            [% END %]
+            [% IF ( serialslis.status5 ) %]
+              <option value="5" selected="selected">Not available</option>
+            [% ELSE %]
+              <option value="5">Not available</option>
+            [% END %]
+            [% IF ( serialslis.status6 ) %]
+              <option value="6" selected="selected">Delete</option>
+            [% ELSE %]
+              <option value="6">Delete</option>
+            [% END %]
+            [% IF serialslis.status8 %]
+              <option value="8" selected="selected">Stopped</option>
+            [% END %]
             </select>
 
         </td>
         <td>
-            <input type="text" name="notes" value="[% serialslis.sernotes %]" size="20" maxlength="255" />
+            <input type="text" name="notes" value="[% serialslis.sernotes | html %]" size="20" maxlength="255" />
         </td>
     </tr>
   [% UNLESS ( serialslis.subscriptionexpired ) %]
   [% IF ( serialslis.serialsadditems ) %]
           <tr>
-          <td colspan="5">
-      <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 %]);">
+          <td colspan="6">
+      <a id="label[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]" style="color: grey; font-size: 80%; cursor: pointer;"  onclick="unHideItems('items[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]','label[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]',  '[% serialslis.serialid | html %]');setStatus([% serialslis.serialid | html %]);">
              Click to add item</a>
-        <fieldset class="rows" style="display:none;" id="items[% serialslis.subscriptionid %][% serialslis.serialid %]">
-        <legend><a style="cursor: pointer;"  onclick="HideItems('items[% serialslis.subscriptionid %][% serialslis.serialid %]','label[% serialslis.subscriptionid %][% serialslis.serialid %]')">
+        <fieldset class="rows" style="display:none;" id="items[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]">
+        <legend><a style="cursor: pointer;"  onclick="HideItems('items[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]','label[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]')">
                 Item</a>
         </legend>
           <div class="cataloguing_additem_itemlist">
         [% FOREACH item IN serialslis.items %]
-        <div id="item[% item.serialid %][% item.countitems %]" class="items">
+        <div id="item[% item.serialid | html %][% item.countitems | html %]" 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>
-                [% iteminformatio.marc_value %]
-                <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="subfield" value="[% iteminformatio.subfield %]" />
-                <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
-                [% IF ( iteminformatio.ITEM_SUBFIELDS_ARE_NOT_REPEATABLE ) %]
-                    <span class="buttonPlus" onclick="CloneSubfield('subfield[% item.serialid %][% item.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]')">+</span>
+               <div class="subfield_line" style="[% iteminformatio.hidden | html %]" id="subfield[% item.serialid | html %][% item.countitems | html %][% iteminformatio.subfield | html %][% iteminformatio.random | html %]">
+                [% IF (iteminformatio.mandatory) %]
+                    <label class="required">[% iteminformatio.subfield | html %] - [% iteminformatio.marc_lib | $raw %]</label>
+                [% ELSE %]
+                    <label>[% iteminformatio.subfield | html %] - [% iteminformatio.marc_lib | $raw %]</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 | html %]" selected="selected">[% iteminformatio.marc_value.labels.$value | html %]</option>
+                    [% ELSE %]
+                      <option value="[% value | html %]">[% iteminformatio.marc_value.labels.$value | html %]</option>
+                    [% END %]
+                  [% END %]
+                  </select>
+                [% ELSE %]
+                [% iteminformatio.marc_value | $raw %]
+                [% END %]
+                <input type="hidden" name="itemid" value="[% item.itemid | html %]" />
+                <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield | html %]" />
+                <input type="hidden" name="tag" value="[% iteminformatio.tag | html %]" />
+                <input type="hidden" name="subfield" value="[% iteminformatio.subfield | html %]" />
+                <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory | html %]" />
+                [% IF ( iteminformatio.repeatable ) %]
+                    <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
+                        <img src="[% interface | html %]/[% theme | html %]/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 -->
         
         <input type="hidden" name="moditem" value="" /> 
-        <input type="hidden" name="tag" value="[% item.itemtagfield %]" />
-        <input type="hidden" name="subfield" value="[% item.itemtagsubfield %]" />
-        <input type="hidden" name="serial" value="[% item.serialid %]" />
-        <input type="hidden" name="bibnum" value="[% item.biblionumber %]" />
-        <input type="hidden" name="itemid" value="[% item.itemid %]" />
-        <input type="hidden" name="field_value" value="[% item.itemnumber %]" />
+        <input type="hidden" name="tag" value="[% item.itemtagfield | html %]" />
+        <input type="hidden" name="subfield" value="[% item.itemtagsubfield | html %]" />
+        <input type="hidden" name="serial" value="[% item.serialid | html %]" />
+        <input type="hidden" name="bibnum" value="[% item.biblionumber | html %]" />
+        <input type="hidden" name="itemid" value="[% item.itemid | html %]" />
+        <input type="hidden" name="field_value" value="[% item.itemnumber | html %]" />
         [% END %] <!-- /items -->
         </div>
         </fieldset>
@@ -329,54 +280,80 @@ $(document).ready(function() {
     <tr>
         <td>
             <input type="hidden" name="serialid" value="NEW" />
-            <input type="hidden" name="biblionumber" value="[% newserialloo.biblionumber %]" />
-            <input type="hidden" name="itemcount" value="[% newserialloo.issuesatonce %]" />
-            <input type="hidden" name="user" value="[% newserialloo.librarian %]" />
-            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 %]')}" />
+            <input type="hidden" name="biblionumber" value="[% newserialloo.biblionumber | html %]" />
+            <input type="hidden" name="itemcount" value="[% newserialloo.issuesatonce | html %]" />
+            <input type="hidden" name="user" value="[% newserialloo.librarian | html %]" />
+            Supplemental issue <input type="text" name="serialseq" id="serialseq[% newserialloo.serialid | html %]" value="" size="20" maxlength="100" onchange="if (this.value!=''){unHideItems('items[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]','label[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]', '[% newserialloo.serialid | html %]')} else {HideItems('items[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]','label[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]')}" />
+        </td>
+        <td>
+            <input type="text" name="publisheddate" value="[% newserialloo.publisheddate | html %]" size="10" maxlength="15"  class="datepicker" />
         </td>
         <td>
-            <input type="text" name="publisheddate" value="[% newserialloo.publisheddate %]" size="10" maxlength="15" />
+            <input type="text" name="publisheddatetext" value="[% newserialloo.publisheddatetext | html %]" 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 | html %]" 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 | html %]" onchange="if (this.value==2){unHideItems('items'+'[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]','label[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]','[% newserialloo.serialid | html %]'); changeDate(this, '[% newserialloo.arriveddate | html %]')} else if (this.value==7){changeDate(this, '[% newserialloo.arriveddate | html %]')} else { HideItems('items'+'[% newserialloo.subscriptionid | html %]'+[% newserialloo.serialid | html %],'label[% serialslis.subscriptionid | html %][% serialslis.serialid | html %]'); changeDate(this, '[% serialslis.planneddate | html %]')}" >
 
                     <option value="">----</option>
-  [% IF ( newserialloo.status1 ) %]
+                  [% IF ( newserialloo.status1 ) %]
                     <option value="1" selected="selected">Expected</option>
-  [% END %]
-  [% IF ( newserialloo.status2 ) %]
+                  [% END %]
+                  [% IF ( newserialloo.status2 ) %]
                     <option value="2" selected="selected">Arrived</option>
-  [% ELSE %]
+                  [% ELSE %]
                     <option value="2">Arrived</option>
-  [% END %]
-  [% IF ( newserialloo.status3 ) %]
+                  [% END %]
+                  [% IF ( newserialloo.status3 ) %]
                     <option value="3" selected="selected">Late</option>
-  [% ELSE %]
+                  [% ELSE %]
                     <option value="3">Late</option>
-  [% END %]
-  [% IF ( newserialloo.status4 ) %]
+                  [% END %]
+                  [% IF ( newserialloo.status4 ) %]
                     <option value="4" selected="selected">Missing</option>
-  [% ELSE %]
+                  [% ELSE %]
                     <option value="4">Missing</option>
-  [% END %]
-  [% IF ( newserialloo.status7 ) %]
+                  [% 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 %]
+                  [% ELSE %]
                     <option value="7">Claimed</option>
-  [% END %]
-  [% IF ( newserialloo.status5 ) %]
+                  [% END %]
+                  [% IF ( newserialloo.status5 ) %]
                     <option value="5" selected="selected">Not available</option>
-  [% ELSE %]
+                  [% ELSE %]
                     <option value="5">Not available</option>
-  [% END %]
-  [% IF ( newserialloo.status6 ) %]
+                  [% END %]
+                  [% IF ( newserialloo.status6 ) %]
                     <option value="6" selected="selected">Delete</option>
-  [% ELSE %]
+                  [% ELSE %]
                     <option value="6">Delete</option>
-  [% END %]
+                  [% END %]
+                  [% IF newserialloo.status8 %]
+                    <option value="8" selected="selected">Stopped</option>
+                  [% END %]
             </select>
 
         </td>
@@ -386,38 +363,56 @@ $(document).ready(function() {
     </tr>
   [% IF ( newserialloo.serialsadditems ) %]
           <tr>
-          <td colspan="5">
-      <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 %]')">
+          <td colspan="6">
+      <a id="label[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]" style="color: grey; font-size: 80%; cursor: pointer;"  onclick="unHideItems('items[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]','label[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]', '[% newserialloo.serialid | html %]')">
              Click to add item</a>
-        <fieldset  class="rows" style="display:none;" id="items[% newserialloo.subscriptionid %][% newserialloo.serialid %]">
-        <legend><a style="cursor: pointer;"  onclick="HideItems('items[% newserialloo.subscriptionid %][% newserialloo.serialid %]','label[% newserialloo.subscriptionid %][% newserialloo.serialid %]')">
+        <fieldset  class="rows" style="display:none;" id="items[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]">
+        <legend><a style="cursor: pointer;"  onclick="HideItems('items[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]','label[% newserialloo.subscriptionid | html %][% newserialloo.serialid | html %]')">
                 Item</a>
         </legend>
           <div class="cataloguing_additem_itemlist">
-        <div id="item[% newserialloo.serialid %][% newserialloo.countitems %]" class="items">
+        <div id="item[% newserialloo.serialid | html %][% newserialloo.countitems | html %]" 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>
-                [% iteminformatio.marc_value %]
-                <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="subfield" value="[% iteminformatio.subfield %]" />
-                <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
-                [% IF ( iteminformatio.ITEM_SUBFIELDS_ARE_NOT_REPEATABLE ) %]
-                    <span class="buttonPlus" onclick="CloneSubfield('subfield[% newserialloo.serialid %][% newserialloo.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]')">+</span>
+               <div class="subfield_line" style="[% iteminformatio.hidden | html %]" id="subfield[% newserialloo.serialid | html %][% newserialloo.countitems | html %][% iteminformatio.subfield | html %][% iteminformatio.random | html %]">
+                [% IF (iteminformatio.mandatory) %]
+                    <label class="required">[% iteminformatio.subfield | html %] - [% iteminformatio.marc_lib | $raw %]</label>
+                [% ELSE %]
+                    <label>[% iteminformatio.subfield | html %] - [% iteminformatio.marc_lib | $raw %]</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 | html %]" selected="selected">[% iteminformatio.marc_value.labels.$value | html %]</option>
+                    [% ELSE %]
+                      <option value="[% value | html %]">[% iteminformatio.marc_value.labels.$value | html %]</option>
+                    [% END %]
+                  [% END %]
+                  </select>
+                [% ELSE %]
+                [% iteminformatio.marc_value | $raw %]
                 [% END %]
+                <input type="hidden" name="itemid" value="[% newserialloo.itemid | html %]" />
+                <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield | html %]" />
+                <input type="hidden" name="tag" value="[% iteminformatio.tag | html %]" />
+                <input type="hidden" name="subfield" value="[% iteminformatio.subfield | html %]" />
+                <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory | html %]" />
+                [% IF ( iteminformatio.repeatable ) %]
+                    <a href="#" class="buttonPlus" onclick="CloneItemSubfield(this.parentNode); return false;">
+                        <img src="[% interface | html %]/[% theme | html %]/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>
         
         <input type="hidden" name="moditem" value="" /> 
-        <input type="hidden" name="tag" value="[% newserialloo.itemtagfield %]" />
-        <input type="hidden" name="subfield" value="[% newserialloo.itemtagsubfield %]" />
-        <input type="hidden" name="serial" value="[% newserialloo.serialid %]" />
-        <input type="hidden" name="bibnum" value="[% newserialloo.biblionumber %]" />
-        <input type="hidden" name="itemid" value="[% newserialloo.itemid %]" />
-        <input type="hidden" name="field_value" value="[% newserialloo.itemnumber %]" />
+        <input type="hidden" name="tag" value="[% newserialloo.itemtagfield | html %]" />
+        <input type="hidden" name="subfield" value="[% newserialloo.itemtagsubfield | html %]" />
+        <input type="hidden" name="serial" value="[% newserialloo.serialid | html %]" />
+        <input type="hidden" name="bibnum" value="[% newserialloo.biblionumber | html %]" />
+        <input type="hidden" name="itemid" value="[% newserialloo.itemid | html %]" />
+        <input type="hidden" name="field_value" value="[% newserialloo.itemnumber | html %]" />
         </div>
         </div>
         </fieldset>
@@ -428,24 +423,34 @@ $(document).ready(function() {
 [% END %]
 
 </table>
-    <fieldset class="action"><input type="submit" value="Save"  class="button" accesskey="w" />
-    [% UNLESS ( serialsadditems ) %]&nbsp;&nbsp;<input type="button" onclick="javascript:generateReceive()" value="Multi receiving">[% END %]
+    <fieldset class="action">
+        <div class="btn-group"><input type="submit" value="Save" class="btn btn-default btn-sm"  accesskey="w" /></div>
+        [% UNLESS ( serialsadditems ) %]&nbsp;&nbsp;
+            <div class="btn-group"><a href="#multi_receiving" role="button" class="btn btn-default btn-sm" data-toggle="modal"><i class="fa fa-plus"></i> Multi receiving</a></div>
+        [% END %]
+
+    </fieldset>
 </form>
 
-</div>
-</div>
+            </main>
+        </div> <!-- /.col-sm-10.col-sm-push-2 -->
+
+        <div class="col-sm-2 col-sm-pull-10">
+            <aside>
+                [% INCLUDE 'serials-menu.inc' %]
+                <ul>
+                    [% FOREACH subscription IN subscriptions %]
+                        <li><a href="serials-collection.pl?subscriptionid=[% subscription.subscriptionid | uri %]" title="serial collection for [% subscription.bibliotitle | uri %]">Serial collection #[% subscription.subscriptionid | html %]</a></li>
+                        <li><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid | uri %]" title="detail of the subscription">Subscription #[% subscription.subscriptionid | html %]</a></li>
+                        [% IF ( subscription.abouttoexpire ) %]
+                            [% UNLESS subscription.closed %]
+                                <li><a href="#" onclick="javascript:popup([% subscription.subscriptionid | html %])">Renew #[% subscription.subscriptionid | html %]</a></li>
+                            [% END %]
+                        [% END %]
+                    [% END %]
+                    <li><a href="/cgi-bin/koha/catalogue/[% default_bib_view | uri %].pl?biblionumber=[% biblionumber | uri %]" title="go to [% bibliotitle | html %]">Show biblio</a></li></ul>
+            </aside>
+        </div> <!-- /.col-sm-2.col-sm-pull-10 -->
+     </div> <!-- /.row -->
 
-<div class="yui-b">
-[% INCLUDE 'serials-menu.inc' %]
-<ul>
-    [% FOREACH subscription IN subscriptions %]
-        <li><a href="serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]" title="serial collection for [% subscription.bibliotitle %]">Serial collection #[% subscription.subscriptionid %]</a></li>
-        <li><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" title="detail of the subscription">Subscription #[% subscription.subscriptionid %]</a></li>
-        [% IF ( subscription.abouttoexpire ) %]
-            <li><a href="#" onclick="javascript:popup([% subscription.subscriptionid %])">Renew #[% subscription.subscriptionid %]</a></li>
-        [% END %]
-    [% END %]
-    <li><a href="/cgi-bin/koha/catalogue/[% default_bib_view %].pl?biblionumber=[% biblionumber %]" title="go to [% bibliotitle %]">Show biblio</a></li></ul>
-</div>
-</div>
 [% INCLUDE 'intranet-bottom.inc' %]