Bug 11214: improve create/edit routing list links in serial collection page
[srvgit] / koha-tmpl / intranet-tmpl / prog / en / modules / serials / serials-collection.tt
index a478461..060ecaf 100644 (file)
@@ -1,9 +1,21 @@
+[% USE Branches %]
+[% USE KohaDates %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Serials &rsaquo; Serial collection information for [% bibliotitle %]</title>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
 [% INCLUDE 'doc-head-close.inc' %]
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
 
 <script type="text/javascript">
 //<![CDATA[
+function generateReceive(subscriptionid) {
+    if(nbissues=prompt(_("How many issues do you want to receive ?"))){
+        document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
+    }
+}
 function print_slip(subscriptionid,issue){
     var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
     window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
@@ -40,10 +52,33 @@ function generateNext(subscriptionid) {
        }
 }
 
+function CheckAll( node ) {
+    $("#"+node).checkCheckboxes();
+    return false;
+}
+function CheckNone( node ) {
+    $("#"+node).unCheckCheckboxes();
+    return false;
+}
 $(document).ready(function() {
-       $('#subscription_years > ul').tabs();
+    $('#subscription_years').tabs();
+    [% IF dateformat == "metric" %]
+      dt_add_type_uk_date();
+    [% END %]
+
+    $(".subscription-year-table").dataTable($.extend(true, {}, dataTablesDefaults, {
+        "aoColumnDefs": [
+            { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
+            { "sType": "title-string", "aTargets" : [ "title-string" ] }
+        ],
+        "aaSorting": [[0, 'desc']],
+        "sDom": 't',
+        "bAutoWidth": false,
+        "bPaginate": false,
+        "bInfo": false,
+        "bFilter": false,
+    } ));
 });
 
 //]]>
 </script>
@@ -88,80 +123,42 @@ $(document).ready(function() {
 </tr>
 [% FOREACH subscription IN subscriptions %]
     [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
-      <td><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]"># [% subscription.subscriptionid %]</a> </td>
-      <td>         [% IF ( subscription.periodicity1 ) %]
-                        1/day
-                [% END %]
-                [% IF ( subscription.periodicity2 ) %]
-                        1/week
-                [% END %]
-                [% IF ( subscription.periodicity3 ) %]
-                        1/2 weeks
-                [% END %]
-                [% IF ( subscription.periodicity4 ) %]
-                        1/3 weeks
-                [% END %]
-                [% IF ( subscription.periodicity5 ) %]
-                        1/Month
-                [% END %]
-                [% IF ( subscription.periodicity6 ) %]
-                        1/2 Months (6/year)
-                [% END %]
-                [% IF ( subscription.periodicity7 ) %]
-                        1/quarter
-                [% END %]
-                [% IF ( subscription.periodicity8 ) %]
-                        1/quarter
-                [% END %]
-                [% IF ( subscription.periodicity9 ) %]
-                        2/year
-                [% END %]
-                [% IF ( subscription.periodicity10 ) %]
-                        1/year
-                [% END %]
-                [% IF ( subscription.periodicity11 ) %]
-                        1/2 years
-                [% END %]</td>
-           <td>
-                [% IF ( subscription.numberpattern1 ) %]
-                    Number
+        <td><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]"># [% subscription.subscriptionid %]</a> </td>
+        <td>[% subscription.frequency.description %]</td>
+        <td>[% subscription.numberpattern.label %]</td>
+        <td> [% subscription.branchcode %]</td>
+        <td> [% subscription.callnumber %]</td>
+        <td> [% subscription.notes %]
+            [% UNLESS subscription.closed %]
+                [% IF ( subscription.subscriptionexpired ) %]
+                    <br /><span class="problem"> Subscription expired</span>
                 [% END %]
-                [% IF ( subscription.numberpattern2 ) %]
-                    Volume, number, issue
-                [% END %]
-                [% IF ( subscription.numberpattern3 ) %]
-                    Volume, number
-                [% END %]
-                [% IF ( subscription.numberpattern4 ) %]
-                    Volume, issue
-                [% END %]
-                [% IF ( subscription.numberpattern5 ) %]
-                    Number, issue
-                [% END %]
-                [% IF ( subscription.numberpattern6 ) %]
-                    Seasonal only
-                [% END %]
-                [% IF ( subscription.numberpattern7 ) %]
-                    None of the above
-                [% END %]</td>
-            <td> [% subscription.branchcode %]</td>
-            <td> [% subscription.callnumber %]</td>
-        <td> [% subscription.notes %]        [% IF ( subscription.subscriptionexpired ) %]<br /><span class="problem"> Subscription expired</span>
-        [% END %]
+            [% ELSE %]
+                <br /> Subscription closed
+            [% END %]
         </td>
         [% IF ( routing && CAN_user_serials_routing ) %]
         <td>
-            <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit routing list</a>
+            [% UNLESS subscription.closed %]
+                [% IF ( subscription.hasRouting ) %]
+                    <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit routing list</a>
+                [% ELSE %]
+                    <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]&amp;op=new">Create routing list</a>
+                [% END %]
+            [% END %]
         </td>
         [% END %]
-        [% IF ( subscription.abouttoexpire ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
-        [% ELSE %]
-        [% IF ( subscription.subscriptionexpired ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
+        [% UNLESS subscription.closed %]
+            [% IF ( subscription.abouttoexpire ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
+            [% ELSE %]
+                [% IF ( subscription.subscriptionexpired ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
+                [% ELSE %]
+                    <td> &nbsp;</td>
+                [% END %]
+            [% END %]
         [% ELSE %]
-        <td> &nbsp;</td>
+            <td> &nbsp;</td>
         [% END %]
-        [% END %]
-
       </tr>
 [% END %]
 [% IF ( subscr ) %]
@@ -179,7 +176,7 @@ $(document).ready(function() {
 <ul>
        [% FOREACH year IN years %]
         [% IF ( year.year ) %]
-            <li><a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% year.subscriptionid %]#subscription-year-[% year.year %]">[% year.year %]</a></li>
+            <li><a href="#subscription-year-[% year.year %]">[% year.year %]</a></li>
         [% END %]
     [% END %]
 </ul>
@@ -189,18 +186,28 @@ $(document).ready(function() {
     [% IF ( CAN_user_serials_receive_serials ) %]
         <p>
             <input type="submit" value="Edit serials" />&nbsp;
-            <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
+            [% UNLESS subscription.closed %]
+                <input type="button" value="Generate next" onclick="javascript:generateNext([% subscriptionidlist %])" />
+                [% IF ( subscriptions.size == 1 and !serialsadditems ) %]&nbsp;<input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
+            [% END %]
         </p>
     [% END %]
-
-        <table>
-         <tr>
+      <span class="checkall">
+        <a class="CheckAll" href="#" onclick="CheckAll('subscription-year-[% year.year %]'); return false;">Select all</a>
+      </span> |
+      <span class="clearall">
+        <a class="CheckNone" href="#" onclick="CheckNone('subscription-year-[% year.year %]'); return false;">Clear all</a>
+      </span>
+        <table class="subscription-year-table">
+          <thead>
+            <tr>
+                [% IF ( CAN_user_serials_receive_serials ) %]<th>Edit</th>[% END %]
 [% IF ( subscriptions.size > 1 ) %]
                 <th># Subs</th>
 [% END %]
-                <th>Date published
+                <th class="title-string">Date published
                 </th>
-                <th>Date received
+                <th class="title-string">Date received
                 </th>
                 <th>Number
                 </th>
@@ -211,56 +218,65 @@ $(document).ready(function() {
                 <th>Library
                 </th>
                 [% IF ( routing ) %]<th>Routing</th>[% END %]
-                [% IF ( CAN_user_serials_receive_serials ) %]<th>Edit</th>[% END %]
             </tr>
+          </thead>
+          <tbody>
       [% FOREACH serial IN year.serials %]
     [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
+            [% IF ( CAN_user_serials_receive_serials ) %]
+                <td>
+                  [% IF ( serial.cannotedit ) %]
+                    disabled
+                  [% ELSE %]
+                    [% IF ( serial.subscriptionexpired ) %]
+                    <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" />
+                    [% ELSE %]
+                      [% IF ( serial.checked ) %]
+                    <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid %]" />
+                      [% ELSE %]
+                    <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" />
+                      [% END %]
+                    [% END %]
+                  [% END %]
+                </td>
+            [% END %]
 [% IF ( subscriptions.size > 1 ) %]
                  <td><a href="serials-collection.pl?subscriptionid=[% serial.subscriptionid %]">[% serial.subscriptionid %]</a></td>
 [% END %]
                 <td>
-                    [% serial.publisheddate %]
+                    <span title="[% serial.publisheddate %]">[% serial.publisheddate | $KohaDates %]</span>
                 </td>
                 <td>
-                    [% serial.planneddate %]
+                    <span title="[% serial.planneddate %]">[% serial.planneddate | $KohaDates %]</span>
                 </td>
                 <td>
                     [% serial.serialseq %]
                 </td>
                 <td>
-                    [% IF ( serial.status1 ) %]Expected[% END %][% IF ( serial.status2 ) %]Arrived[% END %][% IF ( serial.status3 ) %]Late[% END %][% IF ( serial.status4 ) %]Missing[% END %][% IF ( serial.status5 ) %]Not Available[% END %][% IF ( serial.status7 ) %]Claimed[% END %]
+                    [% IF ( serial.status1 ) %]Expected[% END %]
+                    [% IF ( serial.status2 ) %]Arrived[% END %]
+                    [% IF ( serial.status3 ) %]Late[% END %]
+                    [% IF ( serial.status4 ) %]Missing[% END %]
+                    [% IF ( serial.status5 ) %]Not issued[% END %]
+                    [% IF ( serial.status6 ) %]Delete[% END %]
+                    [% IF ( serial.status7 ) %]Claimed[% END %]
+                    [% IF ( serial.status8 ) %]Stopped[% END %]
                 </td>
                 <td>
                     [% serial.notes %]
                 </td>
                 <td>
-                    [% serial.branchcode %]
+                    [% Branches.GetName( serial.branchcode ) %]
                 </td>
                 [% IF ( routing ) %]
                 <td>
-                    <a href="" onclick="print_slip([% serial.subscriptionid |html %], '[% serial.serialseq |html %] ([% serial.planneddate %])'); return false" >Print list</a>
+                    <a href="" onclick="print_slip([% serial.subscriptionid |html %], '[% serial.serialseq |html %] ([% serial.publisheddate %])'); return false" >Print list</a>
                 </td>
                 [% END %]
-            [% IF ( CAN_user_serials_receive_serials ) %]
-                <td>
-                  [% IF ( serial.cannotedit ) %]
-                    disabled
-                  [% ELSE %]
-                    [% IF ( serial.subscriptionexpired ) %]
-                    <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" />
-                    [% ELSE %]
-                      [% IF ( serial.checked ) %]
-                    <input type="checkbox" name="serialid" checked="checked" value="[% serial.serialid %]" />
-                      [% ELSE %]
-                    <input type="checkbox" name="serialid" value="[% serial.serialid %]" />
-                      [% END %]           
-                    [% END %]
-                  [% END %]
-                </td>
-            [% END %]
             </tr>
-      [% END %]
-        </table>
+          [% END %]
+        </tbody>
+      </table>
     </div>
     [% END %]
   <input type="hidden" name="subscriptionid" value="[% subscriptionidlist %]" />