Bug 20312: Add a link to last consulted patron

This new feature adds a link to the last patron consulted
in the staff site. It uses cookies to save this information.
When a staff site user accesses a patron record, the ID, name
and card number of the patron will be saved in the cookie.

To test:
1- Apply the patch
2- Go to a patron details' page
4- Go to another page
4- Verify that the link "Last patron" appears on the top-right
   corner of the screen
5- Click on the link
6- Verify that you are at the patron's checkout page
7- Click on the "X" button next to the "Last patron" link
8- The link should be gone
9- Go to another page
10- The link shouldn't appear (until the next patron detail's
    page)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
Pierre-Luc Lapointe 2018-08-17 16:45:23 -04:00 committed by Nick Clemens
parent 347cc47fe4
commit 587e12100f
5 changed files with 63 additions and 1 deletions

View File

@ -4182,8 +4182,34 @@ span {
}
}
// ==== MODULE LINKS - Start ====
.lastborrower {
background-color: #E6F0F2;
border: 1px solid #95C6D0;
box-shadow: 1px 1px 1px 0 #999;
color: #CC0000;
margin: .4em 0;
padding: .3em .5em .3em .5em;
}
#lastborrower-ref {
border-radius: 5px 0px 0px 5px;
float: left;
}
#lastborrower-remove {
border-radius: 0px 5px 5px 0px;
cursor: pointer;
float: right;
}
#lastborrower-window {
display: none;
position: absolute;
right: 5px;
top: 100px;
}
/* ==== MODULE LINKS - Start ==== */
.buttons-list {
// List containing the module links
margin-bottom: 30px;

View File

@ -2,6 +2,9 @@
[% USE KohaDates %]
[% IF ( patron.borrowernumber ) %]
<div class="patroninfo"><h5>[% INCLUDE 'patron-title.inc' %]</h5>
<input type="hidden" id="hiddenborrowernumber" value="[% patron.borrowernumber %]">
<input type="hidden" id="hiddenborrowername" value="[% patron.surname %] [% patron.firstname %]">
<input type="hidden" id="hiddenborrowercard" value="[% patron.cardnumber %]">
<!--[if IE 6]>
<style type="tex/css">img { width: expression(this.width > 140 ? 140: true);
}</style>

View File

@ -148,5 +148,6 @@
[% END %]
</ul>
</div>
[% INCLUDE 'last-borrower.inc' %]
[% IF ( intranetbookbag ) %]<div id="cartDetails">Your cart is empty.</div>[% END %]
</div>

View File

@ -0,0 +1,4 @@
<div id="lastborrower-window">
<div id="lastborrower-ref" class="lastborrower"><a id="lastborrowerlink" href="" title="">Last patron</a></div>
<div id="lastborrower-remove" class="lastborrower"><i class="fa fa-remove"></i></div>
</div>

View File

@ -87,6 +87,34 @@ $.fn.selectTabByID = function (tabID) {
$("#catalog-search-link a").on("hover", function(){
$("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover");
});
if (typeof $.cookie("lastborrowernumber") !== "undefined" && $("#hiddenborrowernumber").val() != $.cookie("lastborrowernumber")) {
$("#lastborrowerlink").show();
$("#lastborrowerlink").prop("title", $.cookie("lastborrowername") + " (" + $.cookie("lastborrowercard") + ")");
$("#lastborrowerlink").prop("href", "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + $.cookie("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");
$("#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: "/" });
}
$.cookie("currentborrowernumber", $("#hiddenborrowernumber").val(), { path: "/" });
});
// http://jennifermadden.com/javascript/stringEnterKeyDetector.html