Bug 16575: Irregular behaviour using window.print() followed by window.location.href
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-basket.tt
index d1b137b..282c0d8 100644 (file)
@@ -1,11 +1,12 @@
 [% USE Koha %]
 [% USE KohaDates %]
+[% USE Asset %]
 [% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && TagsEnabled && TagsInputOnList ) %]
 
 [% INCLUDE 'doc-head-open.inc' %]
 <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo; Your cart</title>
 [% INCLUDE 'doc-head-close.inc' %]
-[% BLOCK cssinclude %]<style type="text/css">.item-status { display: inline; }</style>[% END %]
+[% BLOCK cssinclude %]<style type="text/css">.item-status, .dt-buttons { display: inline; } @media print { body { height: 99%; } }</style>[% END %]
 </head>
 [% INCLUDE 'bodytag.inc' bodyid='basket' %]
     <div class="main">
@@ -14,9 +15,7 @@
                 <div class="span12">
                     <div id="userbasket">
                         <h2>Your cart</h2>
-
-                        [% UNLESS ( print_basket ) %]
-                            <div id="toolbar" class="toolbar">
+                            <div id="toolbar" class="toolbar noprint">
                                 [% IF ( verbose ) %]
                                     <a href="opac-basket.pl" class="brief">Brief display</a>
                                 [% ELSE %]
                                     <a class="send" href="opac-basket.pl">Send</a>
                                 [% END %]
                                 <a class="download" href="opac-basket.pl">Download</a>
-                                <a class="print-large" href="opac-basket.pl">Print</a>
                                 <a class="empty" href="opac-basket.pl">Empty and close</a>
                                 <a class="hide close" href="opac-basket.pl">Hide window</a>
+                                [% IF ( verbose ) %]
+                                    <a class="print-large" href="#">Print</a>
+                                [% END %]
                             </div>
 
-                            <div id="selections-toolbar" class="toolbar">
+                            <div id="selections-toolbar" class="toolbar noprint">
                                 <a id="CheckAll" href="#">Select all</a>
                                 <a id="CheckNone" href="#">Clear all</a>
                                 <span class="sep">|</span>
                                 </span>
                                 [% END %]
                             </div>
-                        [% END # / UNLESS print_basket %]
 
                         [% IF ( verbose ) %]
                             <form action="opac-basket.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
                                 [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
                                     <h3>
-                                        [% IF ( print_basket ) %]
-                                            [% BIBLIO_RESULT.title |html %]
-                                                [% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield |html %] [% END %][% END %]
-                                                [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author |html %][% END %]
-                                        [% ELSE %]
                                                 <input type="checkbox" class="cb" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]">
                                                 [% BIBLIO_RESULT.title |html %]
                                                 [% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield |html %] [% END %][% END %]
                                                 [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author |html %][% END %]
-                                        [% END # / IF print_basket %]
                                     </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.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 id="itemst" class="table table-bordered table-striped">
                                     <thead>
                                         <tr>
-                                            [% UNLESS ( print_basket ) %]<th>&nbsp;</th>[% END %]
+                                            <th class="noprint">&nbsp;</th>
                                             <th>Title</th>
                                             <th>Author</th>
                                             <th>Year</th>
                                     <tbody>
                                     [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
                                         <tr>
-                                            [% UNLESS ( print_basket ) %]
-                                                <td>
+                                                <td class="noprint">
                                                 <input type="checkbox" class="cb" 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 %][% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]</a>
                                                 <!-- COinS / Openurl -->
                             </form>
                         [% END # / verbose %]
 
-                        [% UNLESS ( print_basket ) %]
                             <form name="myform" action="opac-basket.pl" method="get">
                                 <input type="hidden" name="records" id="records" />
                             </form>
-                        [% END %]
 
                 </div> <!-- / #userbasket -->
             </div> <!-- / .span10 -->
 [% INCLUDE 'opac-bottom.inc' %]
 
 [% BLOCK jsinclude %]
-    [% IF ( print_basket ) %]
-        <script type="text/javascript">
-            //<![CDATA[
-                $(document).ready(function(){
-                    print();
-                    location.href="/cgi-bin/koha/opac-basket.pl?bib_list=[% bib_list %][% IF ( verbose ) %]&verbose=1[% END %]";
-                });
-            //]]>
-        </script>
-    [% ELSE %]
-        <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
+    [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") %]
         [% INCLUDE 'datatables.inc' %]
-        <script type="text/javascript">
+        <script>
             //<![CDATA[
 
             [% IF ( TagsInputEnabled && loggedinusername ) %]
             [% END # / TagsInputEnabled && loggedinusername %]
 
             $(document).ready(function(){
-                $(".brief").click(function(){
+                $(".brief").click(function(e){
+                    e.preventDefault();
                     showLess();
-                    return false;
                 });
 
-                $(".detail").click(function(){
+                $(".detail").click(function(e){
+                    e.preventDefault();
                     showMore();
-                    return false;
                 });
 
-                $(".send").click(function(){
+                $(".send").click(function(e){
+                    e.preventDefault();
                     sendBasket();
-                    return false;
                 });
 
-                $(".download").click(function(){
+                $(".download").click(function(e){
+                    e.preventDefault();
                     downloadBasket();
-                    return false;
                 });
 
-                $(".print-large").click(function(){
+                $(".empty").click(function(e){
                     e.preventDefault();
-                    printBasket();
-                    return false;
-                });
-
-                $(".empty").click(function(){
                     delBasket();
-                    return false;
                 });
 
-                $(".deleteshelf").click(function(){
+                $(".deleteshelf").click(function(e){
+                    e.preventDefault();
                     delSelRecords();
-                    return false;
                 });
 
-                $(".newshelf").click(function(){
+                $(".newshelf").click(function(e){
+                    e.preventDefault();
                     addSelToShelf();
-                    return false;
                 });
 
-                $(".hold").click(function(){
+                $(".hold").click(function(e){
+                    e.preventDefault();
                     holdSel();
-                    return false;
                 });
 
-                $("#tagsel_tag").click(function(){
+                $("#tagsel_tag").click(function(e){
+                    e.preventDefault();
                     tagSelected();
-                    return false;
                 });
 
-                $("#tagsel_button").click(function(){
+                $("#tagsel_button").click(function(e){
+                    e.preventDefault();
                     tagAdded();
-                    return false;
                 });
 
-                $("#tagsel_cancel").click(function(){
+                $("#tagsel_cancel").click(function(e){
+                    e.preventDefault();
                     tagCanceled();
-                    return false;
                 });
 
                 $("#CheckAll").click(function(){
                     return false;
                 });
 
-                $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, {
-                    "aaSorting": [[ 1, "asc" ]],
-                    "aoColumnDefs": [
-                      { "aTargets": [ 0,-1 ], "bSortable": false, "bSearchable": false }
+                var itemst = $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, {
+                    "order": [[ 1, "asc" ]],
+                    "columnDefs": [
+                      { "targets": [ 0,-1 ], "sortable": false, "searchable": false }
                     ],
-                    "aoColumns": [
+                    "columns": [
                         null,
-                        { "sType": "anti-the" },
+                        { "type": "anti-the" },
                         null,
                         null,
                         null
-                    ]
+                    ],
+
                 }));
 
+                var buttons = new $.fn.dataTable.Buttons(itemst, {
+                     buttons: [
+                        'print'
+                    ]
+                }).container().appendTo($('#toolbar'));
+
                 $(".cb").change(function(){
-                    if ($(this).prop("checked")){
-                        selRecord($(this).val(), true);
-                    }
+                    selRecord( $(this).val(), $(this).prop("checked") );
                     enableCheckboxActions();
                     return false;
                 });
+                enableCheckboxActions();
             });
 
             function enableCheckboxActions(){
             }
             //]]>
         </script>
-    [% END # / IF print_basket %]
 [% END # / BLOCK jsinclude %]