From 5015147c6cd7e0155511b2d8d6eabcfc1d7b4cc7 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Thu, 21 Sep 2023 12:12:46 -1000 Subject: [PATCH] Bug 26053: Distinguish expired patron restrictions On the patron detail page, in restrictions table to show that the restriction has expired. With text and a grey color line. Uses 'text-muted' boostrap class (already used in OPAC). Test plan : 1) Go to a patron details page cgi-bin/koha/members/moremember.pl 2) Create 2 restrictions in the future 3) Edit in database to se the first restriction into the past 4) Create a retriction without date 5) Check you see on expired line text : (expired) 6) Check line is grey Signed-off-by: David Nind --- Koha/Patron/Restriction.pm | 18 ++++++++++++++++++ .../en/includes/patron-restrictions-tab.inc | 11 +++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Koha/Patron/Restriction.pm b/Koha/Patron/Restriction.pm index 81f562fa30..5fa0952087 100644 --- a/Koha/Patron/Restriction.pm +++ b/Koha/Patron/Restriction.pm @@ -18,6 +18,7 @@ package Koha::Patron::Restriction; use Modern::Perl; use Koha::Database; +use Koha::DateUtils qw( dt_from_string ); use Koha::Patron::Restriction::Type; use base qw(Koha::Object); @@ -44,6 +45,23 @@ sub type { return Koha::Patron::Restriction::Type->_new_from_dbic($type_rs); } +=head3 is_expired + +my $is_expired = $restriction->is_expired; + +Returns 1 if the restriction is expired or 0; + +=cut + +sub is_expired { + my ($self) = @_; + return 0 unless $self->expiration; + # This condition must be consistent with Koha::Patron->is_debarred + my $makes_patron_debarred = dt_from_string( $self->expiration ) > dt_from_string; + return 1 unless $makes_patron_debarred; + return 0; +} + =head2 Internal methods =head3 _type diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-restrictions-tab.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-restrictions-tab.inc index 20a9eaf19c..cd5b4b2d99 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-restrictions-tab.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-restrictions-tab.inc @@ -19,7 +19,7 @@ [% FOREACH restriction IN patron.restrictions %] - + [% IF restriction.is_expired %][% ELSE %][% END %] [% PROCESS restriction_type_description restriction_type=restriction.type %] @@ -30,7 +30,14 @@ [% restriction.comment | $raw %] [% END %] - [% IF restriction.expiration %] [% restriction.expiration | $KohaDates %] [% ELSE %] Indefinite [% END %] + + [% IF restriction.expiration %] + [% restriction.expiration | $KohaDates %] + [% IF restriction.is_expired %](expired)[% END %] + [% ELSE %] + Indefinite + [% END %] + [% restriction.created | $KohaDates %] [% IF CAN_user_borrowers_edit_borrowers && CAN_user_circulate_manage_restrictions %] -- 2.30.2