@@ -, +, @@ localStorage 1. Load a patron's account for checkout 2. Load another patron's account for checkout - There should now be a "Last patron" link in the breadcrumbs bar which links to the patron in step 1. Hovering your mouse over the link should display a tooltip containing the patron's name and card number. - Click the "X" to clear the last patron information. The last patron link should go away. 3. Log out and log back in. The last patron information should be gone. --- koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt | 2 ++ koha-tmpl/intranet-tmpl/prog/js/staff-global.js | 39 ++++++++++++------------- 2 files changed, 21 insertions(+), 20 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt @@ -126,6 +126,8 @@ if ( document.location.hash ) { $( '#loginform' ).append( '' ); } + // if showLastPatron information was not cleared during logout, clear it now + removeLastBorrower(); }); [% END %] --- a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js +++ a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js @@ -91,36 +91,34 @@ $.fn.selectTabByID = function (tabID) { $("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover"); }); - if (typeof $.cookie("lastborrowernumber") !== "undefined" && $("#hiddenborrowernumber").val() != $.cookie("lastborrowernumber")) { + + if ( localStorage.getItem("lastborrowernumber") && $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber")) { $("#lastborrower-window").detach().appendTo("#breadcrumbs"); $("#lastborrowerlink").show(); - $("#lastborrowerlink").prop("title", $.cookie("lastborrowername") + " (" + $.cookie("lastborrowercard") + ")"); - $("#lastborrowerlink").prop("href", "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + $.cookie("lastborrowernumber")); + $("#lastborrowerlink").prop("title", localStorage.getItem("lastborrowername") + " (" + localStorage.getItem("lastborrowercard") + ")"); + $("#lastborrowerlink").prop("href", "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + localStorage.getItem("lastborrowernumber")); $("#lastborrower-window").css("display", "inline-block"); } - if ($("a#logout").length > 0) { - $("a#logout").click(function() { - delCookie("lastborrowernumber"); - delCookie("lastborrowername"); - delCookie("lastborrowercard"); - delCookie("currentborrowernumber"); - }); - } + $("#lastborrower-remove").click(function() { - delCookie("lastborrowernumber"); - delCookie("lastborrowername"); - delCookie("lastborrowercard"); - delCookie("currentborrowernumber"); + removeLastBorrower(); $("#lastborrower-window").hide(); }); - if (typeof $.cookie("lastborrowernumber") === "undefined" || ($("#hiddenborrowernumber").val() != $.cookie("lastborrowernumber") && $.cookie("currentborrowernumber") != $("#hiddenborrowernumber").val())) { - $.cookie("lastborrowernumber", $("#hiddenborrowernumber").val(), { path: "/" }); - $.cookie("lastborrowername", $("#hiddenborrowername").val(), { path: "/" }); - $.cookie("lastborrowercard", $("#hiddenborrowercard").val(), { path: "/" }); + if ( localStorage.getItem("lastborrowernumber") || ($("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") && localStorage.getItem("currentborrowernumber") != $("#hiddenborrowernumber").val())) { + localStorage.setItem("lastborrowernumber", $("#hiddenborrowernumber").val() ); + localStorage.setItem("lastborrowername", $("#hiddenborrowername").val() ); + localStorage.setItem("lastborrowercard", $("#hiddenborrowercard").val() ); } - $.cookie("currentborrowernumber", $("#hiddenborrowernumber").val(), { path: "/" }); + localStorage.setItem("currentborrowernumber", $("#hiddenborrowernumber").val() ); }); +function removeLastBorrower(){ + localStorage.removeItem("lastborrowernumber"); + localStorage.removeItem("lastborrowername"); + localStorage.removeItem("lastborrowercard"); + localStorage.removeItem("currentborrowernumber"); +} + // http://jennifermadden.com/javascript/stringEnterKeyDetector.html function checkEnter(e){ //e is event object passed from function invocation var characterCode; // literal character code will be stored in this variable @@ -148,6 +146,7 @@ function logOut(){ delBasket('main', true); } clearHoldFor(); + removeLastBorrower(); } function openHelp(){ --