Bug 41518: Only show autorenewal text if autorenewal allowed

This change makes the "Scheduled for automatic renewal" text appear
in the staff interface and OPAC only if both the issue has auto_renew
and the borrower has autorenew_checkouts set. These are the criteria that
automatic_renewals.pl uses for processing automatic renewals.

Test plan:
0. Apply the patch
1. koha-plack --restart kohadev
2. Checkout an item as an automatic renewal
(ie either set it as Automatic renewal using the checkout option or have
 the circ and fines rules set to use Automatic renewals)
3. View the checkout in both the staff interface and the OPAC
4. Note that they both show "Scheduled for automatic renewal" or
"This item is scheduled for auto renewal" for the OPAC
5. In the patron record change "Allow auto-renewal of items" from
"Yes" to "No"
6. Note that the text talking about the item being scheduled
for automatic renewal no longer displays

Bonus points:
1. Run 'perl ./misc/cronjobs/automatic_renewals.pl -v'
2. Note that the automatic renewal doesn't show when "Allow auto-renewal
of items" is set to "No" but it does show when it's set to "Yes"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
(cherry picked from commit 99e9bcf25e)
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
This commit is contained in:
David Cook 2026-01-05 04:10:15 +00:00 committed by Baptiste Wojtkowski
parent 9c5a78286a
commit c3bd70316c
No known key found for this signature in database
GPG Key ID: 47A8A13E10BC0D40
3 changed files with 4 additions and 2 deletions

View File

@ -369,7 +369,7 @@ function LoadIssuesTable() {
}
content += ")</span>";
}
if(oObj.auto_renew){
if (oObj.auto_renew && oObj.auto_renew_patron) {
content += "<span class='renewals-info'>(";
content += __("Scheduled for automatic renewal");
content += ")</span>";

View File

@ -504,7 +504,7 @@
[% ELSIF ( ISSUE.item_denied_renewal ) %]
Renewal not allowed
[% END %]
[% IF ( ISSUE.auto_renew || ISSUE.auto_too_soon ) %]
[% IF ( ( ISSUE.auto_renew || ISSUE.auto_too_soon ) && borrower.autorenew_checkouts ) %]
<br><span class="usr-msg automatic-renewal">This item is scheduled for auto renewal.</span>
[% END %]
</td>

View File

@ -106,6 +106,7 @@ my $sql = '
borrowers.surname,
borrowers.firstname,
borrowers.cardnumber,
borrowers.autorenew_checkouts,
items.itemlost,
items.damaged,
@ -276,6 +277,7 @@ while ( my $c = $sth->fetchrow_hashref() ) {
date_due_today => $c->{date_due_today} ? JSON::true : JSON::false,
timestamp => $c->{timestamp},
auto_renew => $c->{auto_renew},
auto_renew_patron => $c->{autorenew_checkouts},
onsite_checkout => $c->{onsite_checkout},
enumchron => $c->{enumchron},
renewals_count => $renewals_count,