From 86fdf87c7b518ff9bc348330d0e2eec8ec9b3983 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Thu, 18 May 2017 15:59:49 +0100 Subject: [PATCH] Bug 18625: Update lastseen in patron info request Many services use SIP patron req info to validate a patron against the koha database. If recording lastseen sites will also want to record that the user has accessed these library facilities although they have not logged into koha Signed-off-by: Marcel de Rooy Verified that Patron Info request (63) updates lastseen when the pref has been enabled. --- C4/SIP/ILS/Patron.pm | 10 ++++++++++ C4/SIP/Sip/MsgType.pm | 1 + 2 files changed, 11 insertions(+) diff --git a/C4/SIP/ILS/Patron.pm b/C4/SIP/ILS/Patron.pm index 6cd3300..4f66049 100644 --- a/C4/SIP/ILS/Patron.pm +++ b/C4/SIP/ILS/Patron.pm @@ -433,6 +433,16 @@ sub charge_denied { return "Please contact library staff"; } +sub update_lastseen { + my $self = shift; + my $p; + if (C4::Context->preference('TrackLastPatronActivity') + && $p = Koha::Patrons->find({ borrowernumber => $self->{borrowernumber} })) { + $p->track_login; + } + return; +} + sub _get_address { my $patron = shift; diff --git a/C4/SIP/Sip/MsgType.pm b/C4/SIP/Sip/MsgType.pm index dded51e..3de4323 100644 --- a/C4/SIP/Sip/MsgType.pm +++ b/C4/SIP/Sip/MsgType.pm @@ -932,6 +932,7 @@ sub handle_patron_info { $resp = (PATRON_INFO_RESP); if ($patron) { + $patron->update_lastseen(); $resp .= patron_status_string($patron); $resp .= ( defined($lang) and length($lang) == 3 ) ? $lang : $patron->language; $resp .= timestamp(); -- 2.1.4