Bug 10376: fix ability to print cart from IE9 & 10
[koha.git] / koha-tmpl / opac-tmpl / prog / en / modules / opac-basket.tt
index 2ea6d94..df1d1f1 100644 (file)
@@ -1,42 +1,61 @@
+[% SET TagsInputEnabled = ( opacuserlogin && TagsEnabled && TagsInputOnList ) %]
+
 [% INCLUDE 'doc-head-open.inc' %]
 [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Your cart
-    [% IF ( print_basket ) %]</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<link rel="shortcut icon" href="[% themelang %]/includes/favicon.ico" type="image/x-icon" />
-<meta http-equiv="Content-Language" content="en-us" />
-<script type="text/javascript" src="[% themelang %]/lib/jquery/jquery.js"></script>
+[% INCLUDE 'doc-head-close.inc' %]
+    [% IF ( print_basket ) %]
     <script type="text/javascript">
     //<![CDATA[
+    var IEprint=0;
     $(document).ready(function(){
-        print();
-        location.href="/cgi-bin/koha/opac-basket.pl?bib_list=[% bib_list %][% IF ( verbose ) %]&verbose=1[% END %]";
+        if(navigator.appName.indexOf("Internet Explorer")>-1) {
+        // too bad that we need this trick to make printing work in IE...
+            window.setTimeout(function () {IE_Print_Page();}, 500);
+        }
+        else {
+            print();
+            location.href="/cgi-bin/koha/opac-basket.pl?bib_list=[% bib_list %][% IF ( verbose ) %]&verbose=1[% END %]";
+        }
     });
+    function IE_Print_Page() {
+        if(IEprint==0) {
+            IEprint++;
+            window.print(); // IE needs the window object here
+            window.onfocus=function() { // focus will not work in Firefox a.o.
+                location.href="/cgi-bin/koha/opac-basket.pl?bib_list=[% bib_list %][% IF ( verbose ) %]&verbose=1[% END %]"; }
+        }
+    }
     //]]>
     </script>
-<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[
+    [% ELSE %]
+    <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
+    [% INCLUDE 'datatables.inc' %]
+    <script type="text/javascript">
+    //<![CDATA[
+
+$(document).ready(function(){
+    $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, {
+        "aaSorting": [[ 1, "asc" ]],
+        "aoColumnDefs": [
+          { "aTargets": [ 0,-1 ], "bSortable": false, "bSearchable": false }
+        ],
+        "aoColumns": [
+            null,
+            { "sType": "anti-the" },
+            null,
+            null,
+            null
+        ]
+    }));
 
-var MSG_NO_RECORD_SELECTED = _("Please select one or more items");
-$(document).ready(function()
-    {
-        $("#itemst").tablesorter({
-                        headers: { 0: { sorter: false },4:{sorter:false}}
-                });
     $(".cb").click(function(){
       enableCheckboxActions();
     });
+    enableCheckboxActions();
     }
 );
 
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-var MSG_NO_TAG_SPECIFIED = _("No tag was specified.");
-
+[% IF ( TagsInputEnabled && loggedinusername ) %]
 function tagSelected() {
     var bibs = document.getElementById('records').value;
     if (bibs) {
@@ -52,6 +71,8 @@ function tagCanceled() {
     $("#tagsel_form").hide();
     $("#tagsel_tag").show();
     $("#tag_hides").show();
+    $("#tagsel_new").val("");
+    $(".tagstatus").empty().hide();
 }
 
 function tagAdded() {
@@ -76,46 +97,31 @@ function tagAdded() {
     KOHA.Tags.add_multitags_button(bibs, tag);
     return false;
 }
-[% END %][% END %][% END %]
-       $(document).ready(function(){
-               $("#CheckAll").click(function(){
-               var checked = [];
-               $(".checkboxed").checkCheckboxes("*", true).each(
-                   function() {
-                               selRecord(this.value,true);
-                       }
-               );
-        enableCheckboxActions();
-               return false;
-           });
-           $("#CheckNone").click(function(){
-           var checked = [];
-               $(".checkboxed").unCheckCheckboxes("*",true).each(
-                   function() {
-                               selRecord(this.value,false);
-                       }
-               );
+[% END %]
+    $(document).ready(function(){
+        $("#CheckAll").click(function(){
+            var checked = [];
+            $(".checkboxed").checkCheckboxes("*", true).each(
+                function() {
+                    selRecord(this.value,true);
+                }
+            );
+            enableCheckboxActions();
+            return false;
+        });
+        $("#CheckNone").click(function(){
+        var checked = [];
+        $(".checkboxed").unCheckCheckboxes("*",true).each(
+            function() {
+                selRecord(this.value,false);
+            }
+        );
         enableCheckboxActions();
-               return false;
-           });
+            return false;
+        });
+
+    });
 
-[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-          $("#tagsel_button").click(function(){
-              tagAdded();
-              return false;
-          });
-[% END %][% END %][% END %]
-       });
-[% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
-    function holdSel() {
-        var items = document.getElementById('records').value;
-        if (items) {
-            document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers=" + items;
-        } else {
-            alert(MSG_NO_RECORD_SELECTED);
-        }
-    }
-[% END %][% END %]
 function enableCheckboxActions(){
     // Enable/disable controls if checkboxes are checked
     var checkedBoxes = $(".checkboxed input:checkbox:checked");
@@ -127,11 +133,11 @@ function enableCheckboxActions(){
       $("#selections-toolbar .links a").addClass("disabled");
     }
 }
-       //]]>
-       </script>
-       [% END %]
+    //]]>
+    </script>
+    [% END %]
 </head>
-<body id="basket">
+<body id="basket" class="popup">
 
 <div id="doc" class="yui-t7">
 <div id="userbasket" class="container">
@@ -141,37 +147,45 @@ function enableCheckboxActions(){
 <div id="toolbar">
 <ul>
     <li>[% IF ( verbose ) %]<a href="opac-basket.pl" class="brief" onclick="showLess(); return false;">Brief display</a>[% ELSE %]<a href="opac-basket.pl" class="detail" onclick="showMore(); return false;">More details</a>[% END %]</li>
-       [% IF ( opacuserlogin ) %]<li><a class="send" href="opac-basket.pl" onclick="sendBasket(); return false;">Send</a></li>[% END %]
-       <li><a class="download" href="opac-basket.pl" onclick="downloadBasket(); return false;">Download</a></li>
-       <li><a class="print" href="opac-basket.pl" onclick="printBasket(); return false;">Print</a></li>
+    [% IF ( opacuserlogin ) %]<li><a class="send" href="opac-basket.pl" onclick="sendBasket(); return false;">Send</a></li>[% END %]
+    <li><a class="download" href="opac-basket.pl" onclick="downloadBasket(); return false;">Download</a></li>
+    <li><a class="print" href="opac-basket.pl" onclick="printBasket(); return false;">Print</a></li>
     <li><a class="empty" href="opac-basket.pl" onclick="delBasket(); return false;">Empty and close</a></li>
     <li><a class="hide close" href="opac-basket.pl">Hide window</a></li>
 </ul>
 </div>
+[% END %]
+
+[% UNLESS ( print_basket ) %]
+<div id="selections-toolbar">
+    <a id="CheckAll" href="#">Select all</a>
+    <a id="CheckNone" href="#">Clear all</a>
+    <span class="sep">|</span>
+    <span class="links" id="tag_hides">
+        <span id="selections">Select titles to: </span>
+        <a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
+        [% IF ( opacuserlogin ) %]
+          [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
+          <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
+          [% END %][% END %]
+          [% IF ( RequestOnOpac ) %]<a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
+          [% IF ( TagsInputEnabled && loggedinusername ) %]
+          <a href="#" id="tagsel_tag" class="disabled" onclick="tagSelected(); return false;">Tag</a>
+          [% END %]
         [% END %]
+    </span>
+    [% IF ( TagsInputEnabled && loggedinusername ) %]
+    <span id="tagsel_form" style="display:none">
+        <label for="tagsel_new">New tag:</label>
+        <input name="tagsel_new" id="tagsel_new" maxlength="100" />
+        <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="Add" type="submit" value="Add" onclick="tagAdded(); return false;" />
+        <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;">Cancel</a>
+    </span>
+    [% END %]
+</div>
+[% END %]
 
 [% IF ( verbose ) %]
-       [% UNLESS ( print_basket ) %]<div id="selections-toolbar"><a id="CheckAll" href="#">Select all</a> <a id="CheckNone" href="#">Clear all</a> <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
-<span id="tag_hides">
-<a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
-[% IF ( opacuserlogin ) %]
-    [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
-         | <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
-    [% END %][% END %]
-    [% IF ( RequestOnOpac ) %]| <a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
-    [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-    | <a href="#" id="tagsel_tag" class="disabled" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
-[% END %]
-</span>
-     <span id="tagsel_form" style="display:none">
-       <label for="tagsel_new" style="display:inline">New&nbsp;tag:</label>
-       <input name="tagsel_new" id="tagsel_new" maxlength="100" style="display:inline"/>
-       <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button"
-           type="submit" value="Add" style="display:inline" />
-       <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
-     </span>
-     </span>
-</div>[% END %]
             <form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
     [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
     <h3>
@@ -186,7 +200,7 @@ function enableCheckboxActions(){
                 [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author |html %][% END %]
         [% END %]
     </h3>
-           <!-- COinS / Openurl -->
+        <!-- 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>
     <table>
         [% IF ( BIBLIO_RESULT.isbn ) %]
@@ -212,7 +226,7 @@ function enableCheckboxActions(){
                        </p>
                        [% END %]
                    [% END %]
-           </td>
+        </td>
         </tr>
         [% END %]
 
@@ -298,20 +312,24 @@ function enableCheckboxActions(){
         <tr>
             <th scope="row">URL(s)</th>
             <td>
-          [% FOREACH MARCurl IN BIBLIO_RESULT.MARCurlS %]
-               <p>[% IF ( MARCurl.part ) %][% MARCurl.part %]
-                       <br />[% END %]
+               [% 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>
+                    [% MARCurl.MARCurl %]
+                        [% IF ( MARCurl.notes ) %][% FOREACH note IN MARCurl.notes %][% note.note %]<br />[% END %][% END %]
+                    [% END %]
+                    </p>
+            </td>
         </tr>[% END %]
 
         <tr>
             <th scope="row">Location(s) (Status)</th>
             <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
                             <li>
-                                <strong>[% ITEM_RESULT.homebranch %]</strong>[% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
+                                <strong>[% ITEM_RESULT.branchname %]</strong>[% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
                                 [% IF ( ITEM_RESULT.itemcallnumber ) %]
                                     ([% ITEM_RESULT.itemcallnumber %])
                                 [% END %]
@@ -324,38 +342,17 @@ function enableCheckboxActions(){
             </form>
 
 [% ELSE %]
-[% UNLESS ( print_basket ) %]
 <form action="/cgi-bin/koha/opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
-<div id="selections-toolbar">
-    <a id="CheckAll" href="#">Select all</a>
-    <a id="CheckNone" href="#">Clear all</a>
-    <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
-        <a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
-    [% IF ( opacuserlogin ) %]
-        [% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]
-          <a href="#" class="newshelf disabled" onclick="addSelToShelf(); return false;">Add to a list</a>
-        [% END %][% END %]
-        [% IF ( RequestOnOpac ) %] <a href="#" class="hold disabled" onclick="holdSel(); return false;">Place hold</a>[% END %]
-        [% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
-         <a href="#" class="disabled" id="tagsel_tag" onclick="tagSelected(); return false;">Tag</a>[% END %][% END %]
-    [% END %]
-    </span>
-         [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<span id="tagsel_form" style="display:none">
-           <label for="tagsel_new" style="display:inline">New&nbsp;tag:</label>
-           <input name="tagsel_new" id="tagsel_new" maxlength="100"  style="display:inline"/>
-           <input id="tagsel_button" name="tagsel_button" class="input tagsel_button" title="tagsel_button" type="submit" value="Add"  style="display:inline"/>
-           <a href="#" id="tagsel_cancel" onclick="tagCanceled(); return false;" style="display:inline">Cancel</a>
-         </span>[% END %][% END %][% END %]</span>
-</div>
-[% END %]
     <table id="itemst">
-       <thead><tr>
-           [% UNLESS ( print_basket ) %]<th>&nbsp;</th>[% END %]
-           <th>Title</th>
-           <th>Author</th>
-           <th>Year</th>
-        <th>Location (Status)</th>
-        </tr></thead>
+    <thead>
+        <tr>
+            [% UNLESS ( print_basket ) %]<th>&nbsp;</th>[% END %]
+            <th>Title</th>
+            <th>Author</th>
+            <th>Year</th>
+            <th>Location (Status)</th>
+        </tr>
+    </thead>
 
         [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
             [% IF ( BIBLIO_RESULT.even ) %]
@@ -368,31 +365,32 @@ function enableCheckboxActions(){
 
                 </td> [% END %]
             <td>
-               <a href="#" onclick="openBiblio('[% BIBLIO_RESULT.dest %]',[% BIBLIO_RESULT.biblionumber %])">
-                        [% BIBLIO_RESULT.title |html %][% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]
-                </a>
+                <a href="#" onclick="openBiblio('[% BIBLIO_RESULT.dest %]',[% BIBLIO_RESULT.biblionumber %])">[% BIBLIO_RESULT.title |html %][% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]</a>
                 <!-- 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>
-                   [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<div id="newtag[% BIBLIO_RESULT.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</div>[% END %][% END %][% END %]
-           </td>
-           <td>[% BIBLIO_RESULT.author %]</td>
-           <td>
-               [% IF ( BIBLIO_RESULT.publicationyear ) %]
-                   [% BIBLIO_RESULT.publicationyear %]
+                <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>
+                [% IF ( TagsInputEnabled && loggedinusername ) %]
+                <span id="newtag[% BIBLIO_RESULT.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</span>
+                [% END %]
+            </td>
+            <td>[% BIBLIO_RESULT.author %]</td>
+            <td>
+                [% IF ( BIBLIO_RESULT.publicationyear ) %]
+                    [% BIBLIO_RESULT.publicationyear %]
                 [% ELSE %]
-                   [% BIBLIO_RESULT.copyrightdate %]
+                    [% BIBLIO_RESULT.copyrightdate %]
                 [% END %]
-           </td>
-                <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
-                    <li>
-                        [% ITEM_RESULT.homebranch %][% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
-                        [% IF ( ITEM_RESULT.itemcallnumber ) %]
-                            ([% ITEM_RESULT.itemcallnumber %])
-                        [% END %]
-                        ([% INCLUDE 'item-status.inc' item = ITEM_RESULT %])
-                    </li>
-                    [% END %]</ul>[% ELSE %]This record has no items.[% END %]</td>
-            </tr>
+            </td>
+            <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
+                <li>
+                    [% ITEM_RESULT.branchname %][% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
+                    [% IF ( ITEM_RESULT.itemcallnumber ) %]
+                        ([% ITEM_RESULT.itemcallnumber %])
+                    [% END %]
+                    ([% INCLUDE 'item-status.inc' item = ITEM_RESULT %])
+                </li>
+                [% END %]</ul>[% ELSE %]This record has no items.[% END %]
+            </td>
+        </tr>
         [% END %]
     </table></form>
 [% END %]