Bugzilla – Attachment 181546 Details for
Bug 9762
Log circulation overrides
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 9762: (Alternative) Handle renewals
Bug-9762-Alternative-Handle-renewals.patch (text/plain), 9.84 KB, created by
Martin Renvoize (ashimema)
on 2025-04-25 16:21:57 UTC
(
hide
)
Description:
Bug 9762: (Alternative) Handle renewals
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2025-04-25 16:21:57 UTC
Size:
9.84 KB
patch
obsolete
>From de37eee7e30973d6b40451864267bf701b8cbd8f Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@openfifth.co.uk> >Date: Fri, 25 Apr 2025 17:21:13 +0100 >Subject: [PATCH] Bug 9762: (Alternative) Handle renewals > >--- > C4/Circulation.pm | 24 +++++++++++++++++-- > circ/renew.pl | 11 +++++---- > .../prog/en/modules/circ/renew.tt | 17 ++++++------- > 3 files changed, 38 insertions(+), 14 deletions(-) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 7c8166d181d..cf36bf8db05 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -3357,6 +3357,8 @@ sub AddRenewal { > my $seen = $params->{seen}; > my $automatic = $params->{automatic}; > my $skip_record_index = $params->{skip_record_index}; >+ my $confirmations = $params->{confirmations}; >+ my $forced = $params->{forced}; > > # Fallback on a 'seen' renewal > $seen = defined $seen && $seen == 0 ? 0 : 1; >@@ -3430,10 +3432,12 @@ sub AddRenewal { > ); > if ( !$seen && $rule && looks_like_number( $rule->rule_value ) ) { > $unseen_renewals++; >+ push @{$confirmations}, 'UNSEEN'; > } else { > > # If the renewal is seen, unseen should revert to 0 > $unseen_renewals = 0; >+ push @{$confirmations}, 'SEEN'; > } > } > >@@ -3541,8 +3545,24 @@ sub AddRenewal { > $patron->update_lastseen('renewal'); > > #Log the renewal >- logaction( "CIRCULATION", "RENEWAL", $borrowernumber, $itemnumber ) >- if C4::Context->preference("RenewalLog"); >+ if ( C4::Context->preference("RenewalLog") ) { >+ my $info = $itemnumber; >+ if ( defined($confirmations) || defined($forced) ) { >+ $info = to_json( >+ { >+ issue => $issue->issue_id, >+ itemnumber => $itemnumber, >+ confirmations => $confirmations, >+ forced => $forced >+ }, >+ { >+ pretty => 1, >+ cononical => 1 >+ } >+ ); >+ } >+ logaction( "CIRCULATION", "RENEWAL", $borrowernumber, $info ); >+ } > > Koha::Plugins->call( > 'after_circ_action', >diff --git a/circ/renew.pl b/circ/renew.pl >index c27881a494c..d21e43f6961 100755 >--- a/circ/renew.pl >+++ b/circ/renew.pl >@@ -66,9 +66,11 @@ if ( $op eq 'cud-renew' && $barcode ) { > $patron = $checkout->patron; > > if ( ( $patron->is_debarred || q{} ) lt dt_from_string()->ymd() ) { >+ my $confirmations; > my $can_renew; > my $info; > ( $can_renew, $error, $info ) = CanBookBeRenewed( $patron, $checkout, $override_limit ); >+ push @{$confirmations}, $override_limit if $override_limit; > > if ( $error && ( $error eq 'on_reserve' ) ) { > if ($override_holds) { >@@ -97,10 +99,11 @@ if ( $op eq 'cud-renew' && $barcode ) { > > $date_due = AddRenewal( > { >- itemnumber => $item->itemnumber(), >- branch => $branchcode, >- datedue => $date_due, >- seen => !$unseen >+ itemnumber => $item->itemnumber(), >+ branch => $branchcode, >+ datedue => $date_due, >+ seen => !$unseen, >+ confirmations => $confirmations > } > ); > $template->param( date_due => $date_due ); >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt >index ad653291346..ffd2bd911cd 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt >@@ -59,7 +59,7 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="RENEWAL_LIMIT" /> > <input type="hidden" name="op" value="cud-renew" /> > <input type="hidden" name="hard_due_date" value="[% hard_due_date | html %]" /> > <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button> >@@ -72,7 +72,7 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="UNSEEN_LIMIT" /> > <input type="hidden" name="op" value="cud-renew" /> > <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button> > </form> >@@ -84,7 +84,7 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="TOO_SOON" /> > <input type="hidden" name="op" value="cud-renew" /> > <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button> > </form> >@@ -96,7 +96,7 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="AUTO_TOO_SOON" /> > <input type="hidden" name="op" value="cud-renew" /> > <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button> > </form> >@@ -108,7 +108,7 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="AUTO_TOO_LATE" /> > <input type="hidden" name="op" value="cud-renew" /> > <input type="submit" class="btn btn-default approve" value="Override and renew" /> > </form> >@@ -120,19 +120,20 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="ACCOUNT_EXPIRED" /> > <input type="hidden" name="op" value="cud-renew" /> > <input type="submit" class="btn btn-default approve" value="Override and renew" /> > </form> > [% END %] > [% ELSIF error == "auto_renew" or error == "auto_too_much_oweing" %] > <p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) has been scheduled for automatic renewal. </p> >+ [% SET override_limit = error == "auto_renew" ? "AUTO_RENEW" : "TOO_MUCH" %] > > [% IF Koha.Preference('AllowRenewalLimitOverride') %] > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="[% override_limit | html %]" /> > <input type="hidden" name="op" value="cud-renew" /> > <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button> > </form> >@@ -143,7 +144,7 @@ > <form method="post" action="/cgi-bin/koha/circ/renew.pl"> > [% INCLUDE 'csrf-token.inc' %] > <input type="hidden" name="barcode" value="[% item.barcode | html %]" /> >- <input type="hidden" name="override_limit" value="1" /> >+ <input type="hidden" name="override_limit" value="ON_RESERVE" /> > <input type="hidden" name="override_holds" value="1" /> > <div> > <label for="renewonholdduedate">Renewal due date:</label> >-- >2.49.0
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 9762
:
149554
|
156222
|
163847
|
164022
|
164067
|
164068
|
164302
|
164387
|
164426
|
164479
|
164508
|
164509
|
164510
|
164519
|
170271
|
170272
|
170273
|
176742
|
177294
|
177295
|
177296
|
178029
|
178030
|
178031
|
178036
|
181303
|
181304
|
181305
|
181306
|
181307
|
181308
|
181340
|
181341
|
181342
|
181343
|
181344
|
181345
|
181346
|
181357
|
181358
|
181359
|
181360
|
181361
|
181362
|
181363
|
181371
|
181381
|
181390
|
181393
|
181545
| 181546