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> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
bd32425271
commit
2025ed7fdc
|
|
@ -720,12 +720,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 } );
|
||||
|
|
|
|||
|
|
@ -134,6 +134,10 @@
|
|||
<div class="alert alert-warning">This is the anonymous patron, so circulation is disabled.</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 ( NEEDSCONFIRMATION ) %]
|
||||
<div id="circ_needsconfirmation" class="alert alert-warning audio-alert-action focus" tabindex="-1">
|
||||
[% IF CAN_user_circulate_force_checkout or ADDITIONAL_MATERIALS %]
|
||||
|
|
|
|||
|
|
@ -54,6 +54,10 @@
|
|||
<div class="alert alert-warning">This is the anonymous patron.</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 ( error ) %]
|
||||
<div class="alert alert-warning">
|
||||
[% IF ( error == 'CANT_DELETE_STAFF' ) %]
|
||||
|
|
|
|||
|
|
@ -76,7 +76,8 @@ output_and_exit_if_error(
|
|||
{ 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;
|
||||
|
||||
for (qw(gonenoaddress lost borrowernotes is_debarred)) {
|
||||
$patron->$_ and $template->param( flagged => 1 ) and last;
|
||||
|
|
@ -112,6 +113,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 } );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue