Bug 22015: Move DataTables CSS to global include
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / serials / serials-collection.tt
index 5a5720a..454a726 100644 (file)
+[% USE raw %]
+[% USE Asset %]
+[% USE AuthorisedValues %]
+[% USE Branches %]
+[% USE KohaDates %]
+[% SET footerjs = 1 %]
 [% 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" />
+<title>Koha &rsaquo; Serials &rsaquo; Serial collection information for [% bibliotitle | html %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
-<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');
-}
-function addsubscriptionid()
-{
-       var tab=new Array();
-    var serialids = document.edition.serialid;
-    for (i=0; i<serialids.length; i++){
-      if (serialids[i].checked == true){
-        var found=false;
-        for (var val in tab){
-          if (tab[val] == document.getElementsByName("subs")[i].getAttribute('val')){found = true;}
-        }
-        if (found == false){
-          tab=tab.concat((document.getElementsByName("subs")[i].getAttribute('val')));
-        }
-      }
-    }
-    var string="";
-    for (var val in tab){
-      string = string + tab[val] + ",";
-    }
-    string=string.substring(0,string.length -1);
-    document.edition.subscriptionid.value=string;
-}
-function popup(subscriptionid) {
-    newin=window.open('subscription-renew.pl?mode=popup&subscriptionid='+subscriptionid,'popup','width=500,height=400,toolbar=false,scrollbars=yes');
-}
-
-function generateNext(subscriptionid) {
-       if(confirm(_("Do you really want to generate next serial?"))){
-               document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid;
-       }
-}
-
-function CheckAll( node ) {
-    $("#"+node).checkCheckboxes();
-    return false;
-}
-function CheckNone( node ) {
-    $("#"+node).unCheckCheckboxes();
-    return false;
-}
-$(document).ready(function() {
-    $('#subscription_years').tabs();
-    [% IF dateformatmetric %]
-      dt_add_type_uk_date();
-    [% END %]
-
-    $(".subscription-year-table").dataTable($.extend(true, {}, dataTablesDefaults, {
-        "aoColumnDefs": [
-            { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
-        ],
-        "aaSorting": [[0, 'desc']],
-        "sDom": 't',
-        "bAutoWidth": false,
-        "bPaginate": false,
-        "bInfo": false,
-        "bFilter": false,
-    } ));
-});
-
-//]]>
-</script>
 </head>
-<body id="ser_serials-collection" class="yui-skin-sam ser">
+
+<body id="ser_serials-collection" class="ser">
 [% 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 collection information for  <i>[% bibliotitle %]</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 collection information for  <i>[% bibliotitle | html %]</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>
 
+    [% INCLUDE 'modals/serials_multi_receiving.inc' %]
 
 [% UNLESS ( popup ) %]
        [% INCLUDE 'serials-toolbar.inc' %]
 
-       <h1>Serial collection information for  <i>[% bibliotitle %]</i>
-        [% IF location %] ([% location %] ) [% END %]
-               [% IF ( callnumber ) %]callnumber: [% callnumber %][% END %]</h1>
+       <h1>Serial collection information for  <i>[% bibliotitle | html %]</i>
+        [% IF location %] ([% AuthorisedValues.GetByCode( 'LOC', location ) | html %]) [% END %]
+               [% IF ( callnumber ) %]callnumber: [% callnumber | html %][% END %]</h1>
 [% END %]
 
 [% IF ( subscriptions ) %]
@@ -114,70 +44,16 @@ $(document).ready(function() {
   <th>Library</th>
   <th>Call number</th>
   <th>Notes</th>
-  [% IF ( routing && CAN_user_serials_routing ) %]<th>Routing</th>[% END %]
-  <th>Renew</th>
+  <th>&nbsp;</th>
 </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
-                [% 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 %]
+    <tr>
+        <td><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid | uri %]"># [% subscription.subscriptionid | html %]</a> </td>
+        <td>[% subscription.frequency.description | html %]</td>
+        <td>[% subscription.numberpattern.label | html %]</td>
+        <td>[% IF subscription.branchcode %][% Branches.GetName( subscription.branchcode ) | html %][% END %]</td>
+        <td> [% subscription.callnumber | html %]</td>
+        <td> [% subscription.notes | html %]
             [% UNLESS subscription.closed %]
                 [% IF ( subscription.subscriptionexpired ) %]
                     <br /><span class="problem"> Subscription expired</span>
@@ -186,29 +62,31 @@ $(document).ready(function() {
                 <br /> Subscription closed
             [% END %]
         </td>
-        [% IF ( routing && CAN_user_serials_routing ) %]
-        <td>
-            [% UNLESS subscription.closed %]
-                <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit routing list</a>
-            [% END %]
-        </td>
-        [% END %]
+        [% IF ( subscription.abouttoexpire ) || ( subscription.subscriptionexpired ) %]<td class="problem actions">[% ELSE %]<td class="actions">[% END %]
         [% 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>
+            [% IF ( routing && CAN_user_serials_routing ) %]
+                [% IF ( subscription.hasRouting ) %]
+                    <a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid | html %]"><i class="fa fa-pencil"></i> Edit routing list</a>
+                [% ELSE %]
+                    <a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid | html %]&amp;op=new"><i class="fa fa-plus"></i> Create routing list</a>
+                [% END %]
+            [% END %]
+            [% IF ( subscription.abouttoexpire ) %]<a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid | html %]" onclick="popup([% subscription.subscriptionid | html %]); return false;"><i class="fa fa-refresh"></i> Renew</a>
             [% 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>
+                [% IF ( subscription.subscriptionexpired ) %]<a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid | html %]" onclick="popup([% subscription.subscriptionid | html %]); return false;"><i class="fa fa-refresh"></i> Renew</a>
                 [% ELSE %]
-                    <td> &nbsp;</td>
+                    &nbsp;
                 [% END %]
             [% END %]
         [% ELSE %]
-            <td> &nbsp;</td>
+            &nbsp;
         [% END %]
+        </td>
       </tr>
 [% END %]
 [% IF ( subscr ) %]
 [% IF ( subscriptioncount > 1 ) %]
-<tr ><td colspan="8">  <a href="serials-collection.pl?biblionumber=[% biblionumber %]">See any subscription attached to this biblio</a></td>
+<tr ><td colspan="8">  <a href="serials-collection.pl?biblionumber=[% biblionumber | uri %]">See any subscription attached to this biblio</a></td>
 </tr>
 [% END %]
 [% END %]
@@ -221,27 +99,33 @@ $(document).ready(function() {
 <ul>
        [% FOREACH year IN years %]
         [% IF ( year.year ) %]
-            <li><a href="#subscription-year-[% year.year %]">[% year.year %]</a></li>
+            [% IF year.year == 'manage' %]
+                <li><a href="#subscription-year-manage">Manage</a></li>
+            [% ELSE %]
+                <li><a href="#subscription-year-[% year.year | uri %]">[% year.year | html %]</a></li>
+            [% END %]
         [% END %]
     [% END %]
 </ul>
 
  [% FOREACH year IN years %]
-<div id="subscription-year-[% year.year %]">
+<div id="subscription-year-[% year.year | html %]">
     [% IF ( CAN_user_serials_receive_serials ) %]
         <p>
-            <input type="submit" value="Edit serials" />&nbsp;
+            <div class="btn-group"><input type="submit" value="Edit serials" class="btn btn-default btn-sm" /></div>
             [% 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 %]
+                <div class="btn-group"><input type="button" value="Generate next" onclick="javascription:generateNext([% subscriptionidlist | html %])" class="btn btn-default btn-sm" /></div>
+                [% IF ( subscriptions.size == 1 and !serialsadditems ) %]&nbsp;
+                    <div class="btn-group"><input type="button" value="Multi receiving" href="#multi_receiving" class="btn btn-default btn-sm" data-toggle="modal"></div>
+                [% END %]
             [% END %]
         </p>
     [% END %]
       <span class="checkall">
-        <a class="CheckAll" href="#" onclick="CheckAll('subscription-year-[% year.year %]'); return false;">Select all</a>
+        <a class="CheckAll" href="#" onclick="CheckAll('subscription-year-[% year.year | html %]'); return false;">Select all</a>
       </span> |
       <span class="clearall">
-        <a class="CheckNone" href="#" onclick="CheckNone('subscription-year-[% year.year %]'); return false;">Clear all</a>
+        <a class="CheckNone" href="#" onclick="CheckNone('subscription-year-[% year.year | html %]'); return false;">Clear all</a>
       </span>
         <table class="subscription-year-table">
           <thead>
@@ -250,9 +134,11 @@ $(document).ready(function() {
 [% 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 published (text)
+                </th>
+                <th class="title-string">Date received
                 </th>
                 <th>Number
                 </th>
@@ -267,55 +153,96 @@ $(document).ready(function() {
           </thead>
           <tbody>
       [% FOREACH serial IN year.serials %]
-    [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
+        <tr>
             [% IF ( CAN_user_serials_receive_serials ) %]
                 <td>
-                  [% IF ( serial.cannotedit ) %]
+                  [% UNLESS CAN_user_serials_receive_serials %]
                     disabled
                   [% ELSE %]
                     [% IF ( serial.subscriptionexpired ) %]
-                    <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" />
+                    <input type="checkbox" name="serialid" value="[% serial.serialid | html %]" disabled="disabled" />
                     [% ELSE %]
                       [% IF ( serial.checked ) %]
-                    <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid %]" />
+                    <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid | html %]" />
                       [% ELSE %]
-                    <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" />
+                    <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid | html %]" />
                       [% END %]
                     [% END %]
                   [% END %]
                 </td>
             [% END %]
 [% IF ( subscriptions.size > 1 ) %]
-                 <td><a href="serials-collection.pl?subscriptionid=[% serial.subscriptionid %]">[% serial.subscriptionid %]</a></td>
+                 <td><a href="serials-collection.pl?subscriptionid=[% serial.subscriptionid | uri %]">[% serial.subscriptionid | html %]</a></td>
 [% END %]
                 <td>
-                    [% serial.publisheddate %]
+                    <span title="[% serial.publisheddate | html %]">
+                      [% IF serial.publisheddate %]
+                        [% serial.publisheddate | $KohaDates %]
+                      [% ELSE %]
+                        Unknown
+                      [% END %]
+                    </span>
                 </td>
                 <td>
-                    [% serial.planneddate %]
+                   [% IF serial.publisheddatetext %]
+                      <span title="[% serial.publisheddatetext | html %]">
+                        [% serial.publisheddatetext | html %]
+                      </span>
+                   [% END %]
                 </td>
                 <td>
-                    [% serial.serialseq %]
+                    <span title="[% serial.planneddate | html %]">
+                      [% IF serial.planneddate %]
+                        [% serial.planneddate | $KohaDates %]
+                      [% ELSE %]
+                        Unknown
+                      [% END %]
+                    </span>
+                </td>
+                <td>
+                    [% IF ( matches = serial.serialseq.match('(.*)Spring(.*)') ) %]
+                        [% matches.0 | html %]Spring[% matches.1 | html %]
+                    [% ELSIF ( matches = serial.serialseq.match('(.*)Summer(.*)') ) %]
+                        [% matches.0 | html %]Summer[% matches.1 | html %]
+                    [% ELSIF ( matches = serial.serialseq.match('(.*)Fall(.*)') ) %]
+                        [% matches.0 | html %]Fall[% matches.1 | html %]
+                    [% ELSIF ( matches = serial.serialseq.match('(.*)Winter(.*)') ) %]
+                        [% matches.0 | html %]Winter[% matches.1 | html %]
+                    [% ELSIF ( matches = prediction.number.match('(.*)Spr(.*)') ) %]
+                        [% matches.0 | html %]Spr[% matches.1 | html %]
+                    [% ELSIF ( matches = prediction.number.match('(.*)Sum(.*)') ) %]
+                        [% matches.0 | html %]Sum[% matches.1 | html %]
+                    [% ELSIF ( matches = prediction.number.match('(.*)Fal(.*)') ) %]
+                        [% matches.0 | html %]Fal[% matches.1 | html %]
+                    [% ELSIF ( matches = prediction.number.match('(.*)Win(.*)') ) %]
+                        [% matches.0 | html %]Win[% matches.1 | html %]
+                    [% ELSE %]
+                        [% serial.serialseq | html %]
+                    [% END %]
                 </td>
                 <td>
                     [% IF ( serial.status1 ) %]Expected[% END %]
                     [% IF ( serial.status2 ) %]Arrived[% END %]
                     [% IF ( serial.status3 ) %]Late[% END %]
                     [% IF ( serial.status4 ) %]Missing[% END %]
+                    [% IF ( serial.status41 ) %]Missing (never received)[% END %]
+                    [% IF ( serial.status42 ) %]Missing (sold out)[% END %]
+                    [% IF ( serial.status43 ) %]Missing (damaged)[% END %]
+                    [% IF ( serial.status44 ) %]Missing (lost)[% 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 %]
+                    [% serial.notes | html %]
                 </td>
                 <td>
-                    [% serial.branchcode %]
+                    [% Branches.GetName( serial.branchcode ) | html %]
                 </td>
                 [% IF ( routing ) %]
-                <td>
-                    <a href="" onclick="print_slip([% serial.subscriptionid |html %], '[% serial.serialseq |html %] ([% serial.planneddate %])'); return false" >Print list</a>
+                <td class="actions">
+                    <a href="" onclick="print_slip([% serial.subscriptionid | html %], '[% serial.serialseq.replace("'", "\\'") | html %] ([% serial.publisheddate | $KohaDates %])'); return false" class="btn btn-default btn-xs"><i class="fa fa-print"></i> Print list</a>
                 </td>
                 [% END %]
             </tr>
@@ -324,17 +251,88 @@ $(document).ready(function() {
       </table>
     </div>
     [% END %]
-  <input type="hidden" name="subscriptionid" value="[% subscriptionidlist %]" />
+  <input type="hidden" name="subscriptionid" value="[% subscriptionidlist | html %]" />
 
 </div>
 </form>
 [% END %]
 
-</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' %]
+            </aside>
+        </div> <!-- /.col-sm-2.col-sm-pull-10 -->
+     </div> <!-- /.row -->
+
+[% MACRO jsinclude BLOCK %]
+    [% INCLUDE 'datatables.inc' %]
+    <script>
+        var subscriptionid = "[% subscriptionid | html %]";
+        var MSG_CLOSE_SUBSCRIPTION = _("Are you sure you want to close this subscription?");
+        var MSG_REOPEN_SUBSCRIPTION = _("Are you sure you want to reopen this subscription?");
+        var CONFIRM_DELETE_SUBSCRIPTION = _("Are you sure you want to delete this subscription?");
+    </script>
+    [% Asset.js("js/serials-toolbar.js") | $raw %]
+    [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
+
+    <script>
+
+        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');
+        }
+
+        function popup(subscriptionid) {
+            newin=window.open('subscription-renew.pl?mode=popup&subscriptionid='+subscriptionid,'popup','width=500,height=400,toolbar=false,scrollbars=yes');
+        }
+
+        function generateNext(subscriptionid) {
+            if(confirm(_("Do you really want to generate next serial?"))){
+                document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid;
+            }
+        }
+
+        function CheckAll( node ) {
+            $("#"+node).checkCheckboxes();
+            return false;
+        }
+        function CheckNone( node ) {
+            $("#"+node).unCheckCheckboxes();
+            return false;
+        }
+        $(document).ready(function() {
+            $('#subscription_years').tabs();
+            $(".subscription-year-table").dataTable($.extend(true, {}, dataTablesDefaults, {
+                "aoColumnDefs": [
+                    { "aTargets": [ 0,-1 ], "bSortable": false, "bSearchable": false },
+                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
+                ],
+                "aaSorting": [[0, 'desc']],
+                "sDom": 't',
+                "bAutoWidth": false,
+                "bPaginate": false,
+                "bInfo": false,
+                "bFilter": false,
+            } ));
+
+            $('#multi_receiving').on('show', function () {
+               $(this).find(".modal-body").html($(".serials_multi_receiving")[0].outerHTML);
+            });
+
+            $("form[name='edition']").on('submit', function(e){
+                if ( $(this).find("input[name='serialid']:checked").size() == 0 ) {
+                    e.preventDefault();
+                    alert(_("You must select at least one serial to edit"));
+                    return 0;
+                }
+                return 1;
+            });
+        });
+
+    </script>
+[% END %]
 
-<div class="yui-b">
-[% INCLUDE 'serials-menu.inc' %]
-</div>
-</div>
 [% INCLUDE 'intranet-bottom.inc' %]