From c27bb4bca7ae271453f3278531b911c58b8d8a0e Mon Sep 17 00:00:00 2001
From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Date: Wed, 29 May 2013 14:24:05 +0200
Subject: [PATCH] [PASSED QA] Bug 10376: Printing cart does not work under IE9

Test plan:
1) Test with Firefox (or any other browser except IE):
Add biblio to cart
Go to Cart and click Print
Does the Cart window come back to its original state after confirm/cancel Print?
2) Test with Internet Explorer (I used IE9; testing another version is fine)
Do the same as above. Is behavior now more or less the same?

Signed-off-by: Marc Veron <veron@veron.ch>

1) Test without patch:
IE 10: Does not show print dialog
IE 9 (Developer Emulation in IE 10): Does not show print dialog (as expected)
FF 21.0 OK
Chrome 27.0.1453.110 m: OK

2) Test with patch:
IE 10: OK
IE 9 (Developer Emulation in IE 10): OK
IE 8 (Developer Emulation in IE 10): OK
IE 7 (Developer Emulation in IE 10): OK
FF 21.0 OK
Chrome 27.0.1453.110 m: OK

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Trusting Marc here, as I don't have IE available.
Regression tests in Firefox and Chromium went well.
---
 koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt |   19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
index 09993af..3babfb8 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
@@ -9,10 +9,25 @@
 <script type="text/javascript" src="[% themelang %]/lib/jquery/jquery.js"></script>
     <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">
-- 
1.7.9.5