Bugzilla – Attachment 76768 Details for
Bug 16575
Irregular behaviour using window.print() followed by window.location.href=
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 16575: Irregular behaviour using window.print() followed by window.location.href
Bug-16575-Irregular-behaviour-using-windowprint-fo.patch (text/plain), 12.29 KB, created by
Katrin Fischer
on 2018-07-08 16:11:08 UTC
(
hide
)
Description:
Bug 16575: Irregular behaviour using window.print() followed by window.location.href
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2018-07-08 16:11:08 UTC
Size:
12.29 KB
patch
obsolete
>From 807188f13f91f597c1449f39ebcd95c159f35105 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Wed, 30 May 2018 14:15:19 +0000 >Subject: [PATCH] Bug 16575: Irregular behaviour using window.print() followed > by window.location.href > >This patch updates the OPAC and staff client carts to use CSS to >control print output, removing a print parameter which was passed to the >script. > >Currently, when you click "Print" on the OPAC basket, it navigates to >a new page and initiates window.print() followed by a >window.location.href change again. Unfortunately, due to differences in >IE, Chrome, and FF, it will either show the print options, navigate away >without showing them, or refuse to navigate away after printing. By >changing to using print CSS, we don't navigate away from the basket in >the first place, so we prevent this irregular behavior. > >TEST PLAN > >1) Apply the patch >2) Create an OPAC basket by clicking "Add to cart" on multiple items >3) Using Chrome, IE, and Firefox (of any version), click the "Print" > button >4) You should see the relevant print menu without the OPAC basket > re-loading in any way. >5) After printing is complete, you should still be on the OPAC basket > pop-up >6) Perform the same tests in the staff client > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > basket/basket.pl | 2 - > koha-tmpl/intranet-tmpl/prog/css/print.css | 30 +++++++++++- > koha-tmpl/intranet-tmpl/prog/css/staff-global.css | 5 ++ > .../intranet-tmpl/prog/en/modules/basket/basket.tt | 55 +++++++--------------- > koha-tmpl/intranet-tmpl/prog/js/basket.js | 3 +- > .../opac-tmpl/bootstrap/en/modules/opac-basket.tt | 4 +- > koha-tmpl/opac-tmpl/bootstrap/less/print.less | 17 ++++++- > 7 files changed, 70 insertions(+), 46 deletions(-) > >diff --git a/basket/basket.pl b/basket/basket.pl >index 76edc34..4318a95 100755 >--- a/basket/basket.pl >+++ b/basket/basket.pl >@@ -39,11 +39,9 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( > ); > > my $bib_list = $query->param('bib_list'); >-my $print_basket = $query->param('print'); > my $verbose = $query->param('verbose'); > > if ($verbose) { $template->param( verbose => 1 ); } >-if ($print_basket) { $template->param( print_basket => 1 ); } > > my @bibs = split( /\//, $bib_list ); > my @results; >diff --git a/koha-tmpl/intranet-tmpl/prog/css/print.css b/koha-tmpl/intranet-tmpl/prog/css/print.css >index c71c62b..53617b0 100644 >--- a/koha-tmpl/intranet-tmpl/prog/css/print.css >+++ b/koha-tmpl/intranet-tmpl/prog/css/print.css >@@ -302,7 +302,8 @@ form#sortbyform, > fieldset.action, > .list-actions, > .print, >-.ui-tabs-nav { >+.ui-tabs-nav, >+.cart-controls { > display: none; > } > >@@ -329,3 +330,30 @@ p#upload_image > { > display: none; > } >+ >+th { >+ text-align: left; >+} >+ >+#cart_basket .container, >+#cart_basket table, >+#cart_basket tr, >+#cart_basket th, >+#cart_basket td, >+#cart_basket .sorting_asc, >+#cart_basket .sorting, >+#cart_basket .sorting_desc, >+#cart_basket .sorting_disabled, >+#cart_basket tbody tr:nth-child(2n+1) td { >+ background: transparent none; >+ border: 0; >+} >+ >+#cart_basket tr { >+ border-collapse: collapse; >+ border-bottom: 1px solid #DDD; >+} >+ >+.container { >+ width:100%; >+} >diff --git a/koha-tmpl/intranet-tmpl/prog/css/staff-global.css b/koha-tmpl/intranet-tmpl/prog/css/staff-global.css >index 5557bfc..2116945 100644 >--- a/koha-tmpl/intranet-tmpl/prog/css/staff-global.css >+++ b/koha-tmpl/intranet-tmpl/prog/css/staff-global.css >@@ -3347,3 +3347,8 @@ span.name { > margin: auto; > margin-bottom: 2px; > } >+ >+.cart-controls { >+ border-top: 1px solid #E8E8E8; >+ padding: 7px 0; >+} >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt >index 6b1d28f..c798725 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt >@@ -1,7 +1,7 @@ > [% USE Asset %] > [% SET footerjs = 1 %] > [% BLOCK controls %] >- <p style="padding: 7px 0; border-top : 1px solid #E8E8E8;"> >+ <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> >@@ -24,26 +24,18 @@ > </p> > [% END %] > [% INCLUDE 'doc-head-open.inc' %] >-<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] Catalog › 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 %][% interface %]/[% theme %]/img/favicon.ico[% END %]" type="image/x-icon" /> >-<style type="text/css"> >- @import url([% interface %]/[% theme %]/css/print.css); >-</style> >- [% ELSE %][% INCLUDE 'doc-head-close.inc' %] >-[% Asset.css("css/datatables.css") %] >- [% END %] >+<title>Koha › Catalog › Your cart</title> >+[% INCLUDE 'doc-head-close.inc' %] > </head> >-[% IF ( print_basket ) %]<body id="cart_basket" class="cart" onload="print();history.back();">[% ELSE %]<body id="cart_basket" class="cart">[% END %] >+ >+<body id="cart_basket" class="cart"> > > <div class="main container-fluid"> > <div class="row"> > <div class="col-md-12"> > > <div class="container"> >-[% UNLESS ( print_basket ) %] >+ > <h1>Your cart</h1> > > <div id="toolbar" class="btn-toolbar"> >@@ -69,25 +61,17 @@ > <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> >- [% END %] >+ > > [% IF ( verbose ) %] >- [% UNLESS ( print_basket ) %] > [% PROCESS controls %] >- [% END %] > <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 %] >- [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %] [% subtitl.subfield | html %][% END %] >- [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author %][% END %] >- [% ELSE %] >- <input type="checkbox" class="select_record" 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 %] >- [% 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&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.au=[% BIBLIO_RESULT.author %]&rft.btitle=[% BIBLIO_RESULT.title |url %]&rft.date=[% BIBLIO_RESULT.publicationyear %]&rft.tpages=[% BIBLIO_RESULT.item('size') %]&rft.isbn=[% BIBLIO_RESULT.isbn |url %]&rft.aucorp=&rft.place=[% BIBLIO_RESULT.place %]&rft.pub=[% BIBLIO_RESULT.publisher |url %]&rft.edition=[% BIBLIO_RESULT.edition %]&rft.series=[% BIBLIO_RESULT.series %]&rft.genre="></span> >@@ -235,14 +219,13 @@ > </form> > > [% ELSE %] >-[% UNLESS ( print_basket ) %] >+ > <form action="/cgi-bin/koha/basket/basket.pl" method="get" name="bookbag_form" id="bookbag_form"> > [% PROCESS controls %] >-[% END %] > > <table id="itemst"> > <thead><tr> >- [% UNLESS ( print_basket ) %]<th class="NoSort"> </th>[% END %] >+ <th class="NoSort noprint"> </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> >@@ -250,10 +233,10 @@ > > [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %] > <tr> >- [% UNLESS ( print_basket ) %]<td> >+ <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> > <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> >@@ -294,10 +277,8 @@ > </div> > </div> > [% INCLUDE js_includes.inc %] >- [% UNLESS ( print_basket ) %] >- [% INCLUDE 'datatables.inc' %] >- [% Asset.js("js/cart.js") %] >- [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") %] >- [% END %] >+ [% INCLUDE 'datatables.inc' %] >+ [% Asset.js("js/cart.js") %] >+ [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") %] > </body> > </html> >diff --git a/koha-tmpl/intranet-tmpl/prog/js/basket.js b/koha-tmpl/intranet-tmpl/prog/js/basket.js >index e477cce..d6ca7be 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/basket.js >+++ b/koha-tmpl/intranet-tmpl/prog/js/basket.js >@@ -381,8 +381,7 @@ function downloadBasket() { > } > > function printBasket() { >- var loc = document.location + "&print=1"; >- document.location = loc; >+ window.print(); > } > > function showMore() { >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt >index e8cb19e..282c0d8 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt >@@ -15,7 +15,7 @@ > <div class="span12"> > <div id="userbasket"> > <h2>Your cart</h2> >- <div id="toolbar" class="toolbar"> >+ <div id="toolbar" class="toolbar noprint"> > [% IF ( verbose ) %] > <a href="opac-basket.pl" class="brief">Brief display</a> > [% ELSE %] >@@ -32,7 +32,7 @@ > [% 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> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/less/print.less b/koha-tmpl/opac-tmpl/bootstrap/less/print.less >index 92153cc..8f837ac 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/less/print.less >+++ b/koha-tmpl/opac-tmpl/bootstrap/less/print.less >@@ -153,32 +153,40 @@ body#basket a { > } > > body#basket table { >- border-top : 1px solid #EEE; >- border-left : 1px solid #EEE; >+ border-collapse: collapse; > } >+ > body#basket td, > body#basket th { > background-color : transparent; >+ border: 0; > padding : 2px; > } > > body#basket th { > background-color : #EEE; >+ border: 0; > } > > body#basket th, > body#basket th[scope=col] { >+ border: 0; > text-align : center; > vertical-align : middle; > } > > body#basket th[scope=row] { >+ border: 0; > font-size : 89%; > text-align : right; > vertical-align : top; > width : 10%; > } > >+#basket tr { >+ border-bottom: 1px solid #DDD; >+} >+ > body#basket p { > font-size : 85%; > margin : .2em 0; >@@ -243,3 +251,8 @@ div#userupdate input,div#userupdate textarea { > #ulactioncontainer { > display: none; > } >+ >+.main, >+.table-bordered { >+ border: 0; >+} >\ No newline at end of file >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 16575
:
51907
|
51908
|
75664
|
75665
|
76768
|
76769
|
76967
|
76971
|
76972