From ebd8a50e6e48b2e31730fb961dba15f8a0491a7e Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Wed, 20 Mar 2024 18:29:02 +0100 Subject: [PATCH] Bug 36376: Display library limitations alert in patron's messages Bug 31422 added a warning message when library limitations issue in patron edition page. We should add this patron's messages in circ and details pages. Like age limitations. Test plan: 1) User's login branch and home library is: Centerville 2) Patron category "B - Board" is limited to Franklin 3) Edit a patron with Board category from Centerville 4) A message appears "The patron's current category (Board) is limited to other libraries." Signed-off-by: Laura Escamilla Signed-off-by: Katrin Fischer (cherry picked from commit 841dc00ec89dd35cef09890c2f0101f014cc7f92) Signed-off-by: Fridolin Somers --- circ/circulation.pl | 3 +++ .../intranet-tmpl/prog/en/includes/patron_messages.inc | 10 +++++++++- members/moremember.pl | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index 8f944b2edd..c82a96889e 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -306,6 +306,9 @@ if ($patron) { $template->param( age_high => $patron->category->upperagelimit ); } + unless ( Koha::Patron::Categories->search_with_library_limits( { 'me.categorycode' => $patron->categorycode } )->count ) { + $template->param( limited_category => 1 ); + } } # 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 75469d214f..9a9ee305cb 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc @@ -1,10 +1,11 @@ [% USE raw %] [% USE Branches %] +[% USE Categories %] [% SET ClaimReturnedWarningThreshold = Koha.Preference('ClaimReturnedWarningThreshold') %] [% SET return_claims = patron.return_claims %] [% SET logged_in_branchcode = Branches.GetLoggedInBranchcode() %] -[% IF ( has_modifications || warndeparture || returnbeforeexpiry || expired || patron.gonenoaddress || patron.lost || userdebarred || odues || ( return_claims.count > ClaimReturnedWarningThreshold ) || age_limitations || charges || charges_guarantors_guarantees || charges_guarantees || credits ) %] +[% IF ( has_modifications || warndeparture || returnbeforeexpiry || expired || patron.gonenoaddress || patron.lost || userdebarred || odues || ( return_claims.count > ClaimReturnedWarningThreshold ) || age_limitations || limited_category || charges || charges_guarantors_guarantees || charges_guarantees || credits ) %]

Attention

    [% IF ( has_modifications ) %] @@ -97,6 +98,13 @@ [% END %] + [% IF limited_category %] +
  • + The patron's current category ([% Categories.GetName(patron.categorycode) | html %]) is limited to other libraries. + Change category +
  • + [% END %] + [% IF ( charges ) %] [% INCLUDE 'blocked-fines.inc' fines = chargesamount %] [% END %] diff --git a/members/moremember.pl b/members/moremember.pl index 2f70c48705..e7545499b7 100755 --- a/members/moremember.pl +++ b/members/moremember.pl @@ -37,6 +37,7 @@ use List::MoreUtils qw( uniq ); use Scalar::Util qw( looks_like_number ); use Koha::Patron::Attribute::Types; use Koha::Patron::Restriction::Types; +use Koha::Patron::Categories; use Koha::Patron::Messages; use Koha::CsvProfiles; use Koha::Holds; @@ -137,6 +138,10 @@ $template->param( csrf_token => Koha::Token->new->generate_csrf({ session_id => $input->cookie('CGISESSID'),}), ); +unless ( Koha::Patron::Categories->search_with_library_limits( { 'me.categorycode' => $patron->categorycode } )->count ) { + $template->param( limited_category => 1 ); +} + if (C4::Context->preference('ExtendedPatronAttributes')) { my @attributes = $patron->extended_attributes->as_list; # FIXME Must be improved! my @classes = uniq( map {$_->type->class} @attributes ); -- 2.39.5