Bugzilla – Attachment 184741 Details for
Bug 39180
Handle and report exception at checkout/checkin due to missing guarantor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[24.11] Bug 39180: Add a warning on patron missing guaranor
2411-Bug-39180-Add-a-warning-on-patron-missing-gua.patch (text/plain), 5.20 KB, created by
Baptiste Wojtkowski (bwoj)
on 2025-07-28 12:11:10 UTC
(
hide
)
Description:
[24.11] Bug 39180: Add a warning on patron missing guaranor
Filename:
MIME Type:
Creator:
Baptiste Wojtkowski (bwoj)
Created:
2025-07-28 12:11:10 UTC
Size:
5.20 KB
patch
obsolete
>From a8b09c77c93b944a9d28cf5b1a2dbc019c6d8986 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Wed, 21 May 2025 11:42:51 +0000 >Subject: [PATCH] [24.11] Bug 39180: Add a warning on patron missing guaranor > >To test: >1 - Create a patron in a category that can be a guarantee and do not assign any guarantor >2 - Create a patron in a 'Child' account type and do not assign a guarantor >3 - Enable system preference 'ChildNeedsGuarantor' >4 - View 'Check out' and 'Details' tabs for both patrons, note there is no warning >5 - Apply patch >6 - Repeat 4, note warning on all pages >7 - Add a patron gaurantor on the child - repeat 4 - warning is gone >8 - Add non-patron guarantor information to other patron - repeat 4 - warning is gone > >Signed-off-by: David Nind <david@davidnind.com> >Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com> >--- > circ/circulation.pl | 10 +++++++++- > .../intranet-tmpl/prog/en/modules/circ/circulation.tt | 3 +++ > .../prog/en/modules/members/moremember.tt | 3 +++ > members/moremember.pl | 10 +++++++++- > 4 files changed, 24 insertions(+), 2 deletions(-) > >diff --git a/circ/circulation.pl b/circ/circulation.pl >index 968470e6f1..6e229f2e3d 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -712,12 +712,20 @@ my $view = > > my @relatives; > if ($patron) { >- if ( my @guarantors = $patron->guarantor_relationships()->guarantors->as_list ) { >+ my @guarantors = $patron->guarantor_relationships()->guarantors->as_list; >+ if ( scalar @guarantors ) { > push( @relatives, $_->id ) for @guarantors; > push( @relatives, $_->id ) for $patron->siblings->as_list; > } else { > push( @relatives, $_->id ) for $patron->guarantee_relationships()->guarantees->as_list; > } >+ if ( C4::Context->preference('ChildNeedsGuarantor') >+ and ( $patron->is_child or $patron->category->can_be_guarantee ) >+ and $patron->contactname eq "" >+ and !@guarantors ) >+ { >+ $template->param( missing_guarantor => 1 ); >+ } > } > my $relatives_issues_count = > Koha::Database->new()->schema()->resultset('Issue')->count( { borrowernumber => \@relatives } ); >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >index fc77a84b8d..342fda19b2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -96,6 +96,9 @@ > [% IF alert.RETURNED_FROM_ANOTHER %] > <div class="alert alert-warning">Item was checked out to [% INCLUDE 'patron-title.inc' patron = alert.RETURNED_FROM_ANOTHER.patron %] and was returned automatically.</div> > [% END %] >+ [% IF missing_guarantor %] >+ <div class="alert alert-warning">System preference 'ChildNeedsGuarantor' is enabled and this patron does not have a guarantor.</div> >+ [% END %] > > [% IF alert.BOOKED %] > <div class="alert alert-warning">Item is booked by this user</div> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt >index c25adbf4b1..c4b9da4707 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt >@@ -61,6 +61,9 @@ > > [% IF ( error ) %] > <div class="alert alert-warning"> >+ [% IF missing_guarantor %] >+ <div class="alert alert-warning">System preference 'ChildNeedsGuarantor' is enabled and this patron does not have a guarantor.</div> >+ [% END %] > [% IF ( error == 'CANT_DELETE_STAFF' ) %] > <h3>Unable to delete staff user</h3> > <p>Insufficient privileges.</p> >diff --git a/members/moremember.pl b/members/moremember.pl >index 773bc4190d..cfd91802be 100755 >--- a/members/moremember.pl >+++ b/members/moremember.pl >@@ -74,7 +74,8 @@ my $patron = Koha::Patrons->find( $borrowernumber ); > my $logged_in_user = Koha::Patrons->find( $loggedinuser ); > output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } ); > >-my $category_type = $patron->category->category_type; >+my $category = $patron->category; >+my $category_type = $category->category_type; > > if ( $patron->borrowernumber eq C4::Context->preference("AnonymousPatron") ) { > $template->param( is_anonymous => 1 ); >@@ -117,6 +118,13 @@ $template->param( > guarantor_relationships => $guarantor_relationships, > guarantees => \@guarantees, > ); >+if ( C4::Context->preference('ChildNeedsGuarantor') >+ and ( $patron->is_child or $category->can_be_guarantee ) >+ and $patron->contactname eq "" >+ and !@guarantors ) >+{ >+ $template->param( missing_guarantor => 1 ); >+} > > my $relatives_issues_count = > Koha::Checkouts->count({ borrowernumber => \@relatives }); >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 39180
:
181941
|
182691
|
182692
|
182693
|
183084
|
183085
|
183086
|
184632
|
184633
|
184634
|
184635
|
184740
| 184741 |
184742