Bug 16575: Irregular behaviour using window.print() followed by window.location.href
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / basket / basket.tt
index 38b25e2..c798725 100644 (file)
-[% INCLUDE 'doc-head-open.inc' %]
-<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Your Cart</title>
-    [% IF ( print_basket ) %]
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
-<meta http-equiv="Content-Language" content="en-us" />
-<style type="text/css">
-    @import url([% themelang %]/css/print.css);
-</style>
-    [% ELSE %][% INCLUDE 'doc-head-close.inc' %]
-       <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
-       <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
-       <script type="text/javascript">
-       //<![CDATA[
-
-$(document).ready(function()
-    {
-        $("#itemst").tablesorter({
-                        headers: { 0: { sorter: false }}
-                });
-    }
-);
-
-
-function placeHold () {
-    var checkedItems = $("input:checkbox:checked");
-    if ($(checkedItems).size() == 0) {
-        alert(MSG_NO_RECORD_SELECTED);
-        return false;
-    }
-    var bibs = "";
-    var badBibs = false;
-    $(checkedItems).each(function() {
-        var bib = $(this).val();
-        bibs += bib + "/";
-    });
-
-    var newloc = "/cgi-bin/koha/reserve/request.pl?biblionumbers=" + bibs;
-    if ($(checkedItems).size() > 1) { newloc += "&multi_hold=1"; }
-    window.opener.location = newloc;
-    window.close();
-}
+[% USE Asset %]
+[% SET footerjs = 1 %]
+[% BLOCK controls %]
+    <p class="cart-controls">
+        <a id="CheckAll" href="#"><i class="fa fa-check"></i> Select all</a> <a id="CheckNone" href="#"><i class="fa fa-remove"></i> Clear all</a>
+        | <b>Selected items :</b>
+        <a href="#" id="remove_from_cart">Remove</a>
+
+        [% IF ( loggedinusername ) %]
+             | <a href="#" id="add_to_list">Add to a list</a>
+        [% END %]
 
+        [% IF ( CAN_user_reserveforothers ) %]
+             | <a href="#" id="place_hold">Place hold</a>
+        [% END %]
 
+        [% IF CAN_user_tools_records_batchmod %]
+            | <a href="#" id="batch_modify">Batch modify</a>
+        [% END %]
 
-       $(document).ready(function(){
-               $("#CheckAll").click(function(){
-               var checked = [];
-               $("#bookbag_form").checkCheckboxes("*", true).each(
-                   function() {
-                               selRecord(this.value,true);
-                       }
-               );
-               return false;
-           });
-           $("#CheckNone").click(function(){
-           var checked = [];
-               $("#bookbag_form").unCheckCheckboxes("*",true).each(
-                   function() {
-                               selRecord(this.value,false);
-                       }
-               );
-               return false;
-           });
-        $(".holdsep").text("| ");
-        $(".hold").text(_("Place Hold"));
-       });
+        [% IF CAN_user_tools_records_batchdel %]
+            | <a href="#" id="batch_delete">Batch delete</a>
+        [% END %]
+    </p>
+[% END %]
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; Catalog &rsaquo; Your cart</title>
+[% INCLUDE 'doc-head-close.inc' %]
+</head>
 
+<body id="cart_basket" class="cart">
 
-       //]]>
-       </script>
-       [% END %]
-</head>
-[% IF ( print_basket ) %]<body id="basket" onload="print();history.back();">[% ELSE %]<body id="basket">[% END %]
+<div class="main container-fluid">
+    <div class="row">
+        <div class="col-md-12">
 
-<div id="doc" class="yui-t7">
 <div class="container">
-[% UNLESS ( print_basket ) %]
-<h1>Your Cart</h1>
-
-<div id="toolbar">
-<ul class="toolbar">
-       <li>
-           <span id="addchild" class="yui-button yui-link-button"><span class="first-child">
-               [% IF ( verbose ) %]<a href="basket.pl" class="brief" onclick="showLess(); return false;">Brief Display</a>[% ELSE %]<a href="basket.pl" class="detail" onclick="showMore(); return false;">More Details</a>[% END %]
-           </span></span>
-       </li>
-       <li>
-           <span id="receive" class="yui-button yui-link-button"><span class="first-child">
-               <a class="send" href="basket.pl" onclick="sendBasket(); return false;">Send</a>
-           </span></span>
-       </li>
-       <li>
-           <span id="savemenuc" class="yui-button yui-link-button"><span class="first-child">
-               <a class="download" href="basket.pl" onclick="downloadBasket(); return false;">Download</a>
-           </span></span>
-       </li>
-       <li>
-           <span id="printmenuc" class="yui-button yui-link-button"><span class="first-child">
-               <a class="print" href="basket.pl" onclick="printBasket(); return false;">Print</a>
-           </span></span>
-       </li>
-       <li>
-           <span id="delete" class="yui-button yui-link-button"><span class="first-child">
-               <a class="empty" href="basket.pl" onclick="delBasket(); return false;">Empty and Close</a>
-           </span></span>
-       </li>
-       <li>
-           <span id="hide" class="yui-button yui-link-button"><span class="first-child">
-               <a class="hide" href="basket.pl" onclick="quit(); return false;">Hide Window</a>
-           </span></span>
-       </li>
-</ul>
-</div>
-        [% END %]
 
-[% IF ( verbose ) %]
-       [% UNLESS ( print_basket ) %]<p style="padding: 7px 0; border-top : 1px solid #E8E8E8;"><a id="CheckAll" href="#">Select All</a> <a id="CheckNone" href="#">Clear All</a> | <b>Selected items :</b>
+<h1>Your cart</h1>
 
-    <a href="#" onclick="delSelRecords(); return false;">Remove</a>
+<div id="toolbar" class="btn-toolbar">
+    [% IF ( verbose ) %]
+        <a href="basket.pl" class="btn btn-default btn-sm showdetails showless"><i class="fa fa-folder"></i> Brief display</a>
+    [% ELSE %]
+        <a href="basket.pl" class="btn btn-default btn-sm showdetails showmore"><i class="fa fa-folder-open"></i> More details</a>
+    [% END %]
 
-[% IF ( loggedinusername ) %]
-     | <a href="#" onclick="addSelToShelf(); return false;">Add to a list</a>
-[% END %]
+    <a class="btn btn-default btn-sm" href="basket.pl" id="send_cart"><i class="fa fa-envelope"></i> Send</a>
+    <div class="btn-group">
+        <a class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" href="#" id="downloadcart"><i class="fa fa-download"></i> Download <span class="caret"></span> </a>
+        <ul class="dropdown-menu">
+            <li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=iso2709&amp;bib_list=[% bib_list %]">iso2709</a></li>
+            <li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=ris&amp;bib_list=[% bib_list %]">RIS</a></li>
+            <li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=bibtex&amp;bib_list=[% bib_list %]">BibTex</a></li>
+        [% FOREACH csv_profile IN csv_profiles %]
+            <li><a href="/cgi-bin/koha/basket/downloadcart.pl?format=[% csv_profile.export_format_id %]&amp;bib_list=[% bib_list %]">CSV - [% csv_profile.profile %]</a></li>
+        [% END %]
+        </ul>
+    </div>
+    <a class="btn btn-default btn-sm" href="basket.pl" id="print_cart"><i class="fa fa-print"></i> Print</a>
+    <a class="btn btn-default btn-sm" href="basket.pl" id="empty_cart"><i class="fa fa-trash"></i> Empty and close</a>
+    <a class="btn btn-default btn-sm close" href="basket.pl"><i class="fa fa-times-circle"></i> Hide window</a>
+</div>
 
-[% IF ( CAN_user_reserveforothers ) %]
-     | <a href="#" onclick="placeHold(); return false;">Place Hold</a>
-[% END %]
 
-</p>[% END %]
+[% IF ( verbose ) %]
+        [% PROCESS controls %]
             <form action="basket.pl" method="get" name="bookbag_form" id="bookbag_form">
     [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
     <h3>
-        [% IF ( print_basket ) %]
-            [% BIBLIO_RESULT.title |html %]
-                [% IF ( BIBLIO_RESULT.subtitle ) %] [% BIBLIO_RESULT.subtitle %][% END %]
-                [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author %][% END %]
-        [% ELSE %]
-                <input type="checkbox" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked)" />
-                [% BIBLIO_RESULT.title |html %]
-                [% IF ( BIBLIO_RESULT.subtitle ) %] [% BIBLIO_RESULT.subtitle %][% END %]
-                [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author %][% END %]
-        [% END %]
+        <input type="checkbox" class="select_record noprint" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" />
+        [% BIBLIO_RESULT.title |html %]
+        [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield | html %][% END %]
+        [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author %][% END %]
     </h3>
            <!-- COinS / Openurl -->
-    <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.size %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
+    <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.item('size') %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
     <table>
         [% IF ( BIBLIO_RESULT.isbn ) %]
         <tr>
@@ -183,7 +113,7 @@ function placeHold () {
         [% IF ( BIBLIO_RESULT.pages ) %]
             <tr>
                 <th scope="row">Details</th>
-                <td>[% BIBLIO_RESULT.pages %] [% BIBLIO_RESULT.illus %] [% BIBLIO_RESULT.size %]</td>
+                <td>[% BIBLIO_RESULT.pages %] [% BIBLIO_RESULT.illus %] [% BIBLIO_RESULT.item('size') %]</td>
             </tr>
         [% END %]
         [% IF ( BIBLIO_RESULT.seriestitle ) %]
@@ -215,8 +145,14 @@ function placeHold () {
             <th scope="row">Notes</th>
             <td>
             [% FOREACH MARCNOTE IN BIBLIO_RESULT.MARCNOTES %]
-                <p>- [% MARCNOTE.marcnote %]</p>
-            [% END %]</td>
+                <p>
+                [% IF MARCNOTE.marcnote.match('^https?://\S+$') %]
+                    - <a href="[% MARCNOTE.marcnote %]">[% MARCNOTE.marcnote %]</a>
+                [% ELSE %]
+                    - [% MARCNOTE.marcnote %]
+                [% END %]
+            [% END %]
+            </td>
         </tr>
         [% END %]
 
@@ -251,18 +187,21 @@ function placeHold () {
         </tr>
         [% END %]
 
-        [% IF ( BIBLIO_RESULT.MARCurlS ) %]
-        <tr>
-            <th scope="row">url(s)</th>
-            <td>
-          [% FOREACH MARCurl IN BIBLIO_RESULT.MARCurlS %]
-               <p>[% IF ( MARCurl.part ) %][% MARCurl.part %]
-                       <br />[% END %]
 
-               [% MARCurl.MARCurl %]
-                       [% IF ( MARCurl.notes ) %][% FOREACH note IN MARCurl.notes %][% note.note %]<br />[% END %][% END %]
-            [% END %]</p></td>
-        </tr>[% END %]
+        [% IF BIBLIO_RESULT.MARCURLS.size %]
+            <tr>
+                <th scope="row">URL(s)</th>
+                <td>
+                   [% FOREACH MARCurl IN BIBLIO_RESULT.MARCURLS %]
+                        [% IF MARCurl.part %]<p>[% MARCurl.part %]</p>[% END %]
+
+                        <a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]">[% MARCurl.linktext %]</a>
+
+                        [% IF MARCurl.notes %][% FOREACH note IN MARCurl.notes %]<p>[% note.note %]</p>[% END %][% END %]
+                    [% END %]
+                </td>
+            </tr>
+        [% END %]
 
         <tr>
             <th scope="row">Location(s)</th>
@@ -280,68 +219,50 @@ function placeHold () {
             </form>
 
 [% ELSE %]
-[% UNLESS ( print_basket ) %]
-<p style="border-top : 1px solid #E8E8E8;">
-       <form action="/cgi-bin/koha/basket/basket.pl" method="get" name="bookbag_form" id="bookbag_form">
-    <a id="CheckAll" href="#">Select All</a>
-    <a id="CheckNone" href="#">Clear All</a>
-    | <b>Selected items :</b>
-<a href="#" onclick="delSelRecords(); return false;">Remove</a>
-
-[% IF ( loggedinusername ) %]
-     | <a href="#" onclick="addSelToShelf(); return false;">Add to a list</a>
-[% END %]
-
-[% IF ( CAN_user_reserveforothers ) %]
-     | <a href="#" onclick="placeHold(); return false;">Place Hold</a>
-[% END %]
 
+    <form action="/cgi-bin/koha/basket/basket.pl" method="get" name="bookbag_form" id="bookbag_form">
+    [% PROCESS controls %]
 
-[% END %]
-</p>
     <table id="itemst">
        <thead><tr>
-           [% UNLESS ( print_basket ) %]<th>&nbsp;</th>[% END %]
-           <th>Title</th>
-           <th>Item Type</th>
-           <th>Location</th>
+        <th class="NoSort noprint">&nbsp;</th>
+        <th class="anti-the">Title</th>
+        <th>Item type</th>
+        <th><a id="items-popover" href="#" data-trigger="hover" data-toggle="popover" data-placement="top" title="Item sorting" data-content="Items are sorted by the highest or lowest callnumber in a group of items respectively.">Items</a></th>
         </tr></thead>
 
         [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
-            [% IF ( BIBLIO_RESULT.even ) %]
-                <tr class="highlight">
-            [% ELSE %]
                 <tr>
-            [% END %]
-            [% UNLESS ( print_basket ) %]<td>
-                        <input type="checkbox" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked);" />
+                    <td class="noprint">
+                        <input type="checkbox" class="select_record" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" />
 
-                </td> [% END %]
-            <td><a href="#" onclick="openBiblio('[% BIBLIO_RESULT.dest %]',[% BIBLIO_RESULT.biblionumber %])">
-                        [% BIBLIO_RESULT.title |html %]
+                </td>
+            <td><a href="[% BIBLIO_RESULT.dest %]?biblionumber=[% BIBLIO_RESULT.biblionumber %]" class="open_title">
+                        [% BIBLIO_RESULT.title |html %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield | html %][% END %]
                     </a>
                         [% BIBLIO_RESULT.author %]
                         <p>[% IF ( BIBLIO_RESULT.publishercode ) %]- [% BIBLIO_RESULT.publishercode %]
                         [% IF ( BIBLIO_RESULT.place ) %] [% BIBLIO_RESULT.place %][% END %][% END %]
-                        [% IF ( BIBLIO_RESULT.pages ) %] - [% BIBLIO_RESULT.pages %][% IF ( BIBLIO_RESULT.size ) %] [% BIBLIO_RESULT.size %]
+                        [% IF ( BIBLIO_RESULT.pages ) %] - [% BIBLIO_RESULT.pages %][% IF ( BIBLIO_RESULT.item('size') ) %] [% BIBLIO_RESULT.item('size') %]
                         [% END %]
                         [% END %]</p>
                         [% IF ( BIBLIO_RESULT.notes ) %]
                         <p>[% BIBLIO_RESULT.notes %]</p>
                         [% END %]
                                                    <!-- COinS / Openurl -->
-    <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.size %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
+    <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.item('size') %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
 
                                                </td>
             <td>[% BIBLIO_RESULT.description %]</td>
-                <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %][% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
-                    <p>
-                        [% ITEM_RESULT.branchname %] [% ITEM_RESULT.location_description %]
-                        [% IF ( ITEM_RESULT.itemcallnumber ) %]
-                            ([% ITEM_RESULT.itemcallnumber %])
-                        [% END %]
-                    </p>
-                    [% END %][% ELSE %]This record has no items.[% END %]</td>
+            <td class="callnumbers">
+                [% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]
+                    [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
+                        <div><span class="nowrap"><strong><span class="callnumber">[% ITEM_RESULT.itemcallnumber %]</span></strong> [% ITEM_RESULT.branchname %] <span class="shelvingloc inline">[% ITEM_RESULT.location_description %]</span></span></div>
+                    [% END %]
+                [% ELSE %]
+                    This record has no items.
+                [% END %]
+            </td>
             </tr>
         [% END %]
     </table></form>
@@ -351,7 +272,13 @@ function placeHold () {
     <input type="hidden" name="records" id="records" />
 </form>
 
+            </div>
+        </div>
+    </div>
 </div>
-</div>
-</body>
+            [% INCLUDE js_includes.inc %]
+            [% INCLUDE 'datatables.inc' %]
+            [% Asset.js("js/cart.js") %]
+            [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") %]
+    </body>
 </html>