From ff03dc9e6e94d7bb073aaaca5b0d2faa95b5fa71 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Thu, 22 Dec 2022 15:22:24 +0000 Subject: [PATCH] Bug 32373: Show patron restriction date When viewing a patron account with a restriction there is no way to see when the restriction was placed. This is available in the borrower_debarrments table and has now been added to the UI and matched to the 'dateformat' syspref. (Previous commit missed the moremember.tt render and the syspref formatting) Test plan: 1) Create a restriction on a patron and navigate to that patron in Checkouts or the patron details page 2) There should be a message with details about the restriction but the creation date of the restriction won't be included in the message 3) Apply patch 4) The message should now say "Restricted since DATE" as in the screenshot attached. 5) Change the 'dateformat' syspref and refresh, the date should change to reflect the syspref --- circ/circulation.pl | 7 ++++++- .../intranet-tmpl/prog/en/includes/patron_messages.inc | 2 +- members/moremember.pl | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index b7270bfe56a..42caeb15a30 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -45,7 +45,7 @@ use Koha::AuthorisedValues; use Koha::CsvProfiles; use Koha::Patrons; use Koha::Patron::Debarments qw( GetDebarments ); -use Koha::DateUtils qw( dt_from_string ); +use Koha::DateUtils qw( dt_from_string format_sqldatetime ); use Koha::Patron::Restriction::Types; use Koha::Plugins; use Koha::Database; @@ -265,10 +265,15 @@ if ($patron) { finetotal => $balance, ); + my $debarrment = @{ GetDebarments( { borrowernumber => $borrowernumber } ) }[0] || undef; + my $dateformatted = format_sqldatetime( $debarrment->{created} ) if $debarrment; + my $debarrmentdate = substr($dateformatted, 0, 10) if $debarrment; + if ( $patron and $patron->is_debarred ) { $template->param( 'userdebarred' => $patron->debarred, 'debarredcomment' => $patron->debarredcomment, + 'debarredsince' => $debarrmentdate ); if ( $patron->debarred ne "9999-12-31" ) { diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc index db9c3430fcf..a72932b62c2 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc @@ -58,7 +58,7 @@ [% IF ( userdebarred ) %]
  • - Restricted: Patron's account is restricted + Restricted since [% debarredsince %]: Patron's account is restricted [% IF ( userdebarreddate ) %] until [% userdebarreddate | $KohaDates %] diff --git a/members/moremember.pl b/members/moremember.pl index 0523d02831a..13003a02ce3 100755 --- a/members/moremember.pl +++ b/members/moremember.pl @@ -45,6 +45,7 @@ use Koha::Patrons; use Koha::Patron::Files; use Koha::Token; use Koha::Checkouts; +use Koha::DateUtils qw( format_sqldatetime ); my $input = CGI->new; @@ -85,10 +86,14 @@ $template->param( ); if ( $patron->is_debarred ) { + my $debarrment = @{ GetDebarments( { borrowernumber => $borrowernumber } ) }[0] || undef; + my $dateformatted = format_sqldatetime( $debarrment->{created} ); + my $debarrmentdate = substr($dateformatted, 0, 10); $template->param( - 'debarments' => scalar GetDebarments({ borrowernumber => $borrowernumber }), + 'debarments' => scalar $debarrment, 'userdebarred' => $patron->debarred, 'debarredcomment' => $patron->debarredcomment, + 'debarredsince' => $debarrmentdate ); if ( $patron->debarred ne "9999-12-31" ) { -- 2.37.1 (Apple Git-137.1)