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: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
a1f10a1900
commit
85ecabe2da
|
|
@ -713,12 +713,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 } );
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 });
|
||||
|
|
|
|||
Loading…
Reference in New Issue