From cf227cf1fd5360a4f8c0c52fb942aacaef198b27 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 --- Koha/Patron/Restriction.pm | 16 ++++++++++++++++ .../prog/en/includes/patron-restrictions-tab.inc | 12 ++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Koha/Patron/Restriction.pm b/Koha/Patron/Restriction.pm index 81f562fa30..0baa524b4f 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,21 @@ 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; + return 1 if dt_from_string( $self->expiration ) < dt_from_string; + 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..669ae8f2a2 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,8 @@ [% FOREACH restriction IN patron.restrictions %] - + [% restriction_tr_class = restriction.is_expired ? "text-muted" : "" %] + [% PROCESS restriction_type_description restriction_type=restriction.type %] @@ -30,7 +31,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.42.0