Bug 9762: (Alternative) Handle renewals
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 255c0897f2)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
parent
3cb8cccf7e
commit
4921bb669a
|
|
@ -3488,6 +3488,8 @@ sub AddRenewal {
|
||||||
my $seen = $params->{seen};
|
my $seen = $params->{seen};
|
||||||
my $automatic = $params->{automatic};
|
my $automatic = $params->{automatic};
|
||||||
my $skip_record_index = $params->{skip_record_index};
|
my $skip_record_index = $params->{skip_record_index};
|
||||||
|
my $confirmations = $params->{confirmations};
|
||||||
|
my $forced = $params->{forced};
|
||||||
|
|
||||||
# Fallback on a 'seen' renewal
|
# Fallback on a 'seen' renewal
|
||||||
$seen = defined $seen && $seen == 0 ? 0 : 1;
|
$seen = defined $seen && $seen == 0 ? 0 : 1;
|
||||||
|
|
@ -3561,10 +3563,12 @@ sub AddRenewal {
|
||||||
);
|
);
|
||||||
if ( !$seen && $rule && looks_like_number( $rule->rule_value ) ) {
|
if ( !$seen && $rule && looks_like_number( $rule->rule_value ) ) {
|
||||||
$unseen_renewals++;
|
$unseen_renewals++;
|
||||||
|
push @{$confirmations}, 'UNSEEN';
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
# If the renewal is seen, unseen should revert to 0
|
# If the renewal is seen, unseen should revert to 0
|
||||||
$unseen_renewals = 0;
|
$unseen_renewals = 0;
|
||||||
|
push @{$confirmations}, 'SEEN';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3677,8 +3681,24 @@ sub AddRenewal {
|
||||||
};
|
};
|
||||||
|
|
||||||
#Log the 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(
|
Koha::Plugins->call(
|
||||||
'after_circ_action',
|
'after_circ_action',
|
||||||
|
|
|
||||||
|
|
@ -71,9 +71,11 @@ if ( $op eq 'cud-renew' && $barcode ) {
|
||||||
my @message;
|
my @message;
|
||||||
|
|
||||||
if ( ( $patron->is_debarred || q{} ) lt dt_from_string()->ymd() ) {
|
if ( ( $patron->is_debarred || q{} ) lt dt_from_string()->ymd() ) {
|
||||||
|
my $confirmations;
|
||||||
my $can_renew;
|
my $can_renew;
|
||||||
my $info;
|
my $info;
|
||||||
( $can_renew, $error, $info ) = CanBookBeRenewed( $patron, $checkout, $override_limit );
|
( $can_renew, $error, $info ) = CanBookBeRenewed( $patron, $checkout, $override_limit );
|
||||||
|
push @{$confirmations}, $override_limit if $override_limit;
|
||||||
|
|
||||||
if ( $error && ( $error eq 'on_reserve' ) ) {
|
if ( $error && ( $error eq 'on_reserve' ) ) {
|
||||||
if ($override_holds) {
|
if ($override_holds) {
|
||||||
|
|
@ -123,10 +125,11 @@ if ( $op eq 'cud-renew' && $barcode ) {
|
||||||
|
|
||||||
$date_due = AddRenewal(
|
$date_due = AddRenewal(
|
||||||
{
|
{
|
||||||
itemnumber => $item->itemnumber(),
|
itemnumber => $item->itemnumber(),
|
||||||
branch => $branchcode,
|
branch => $branchcode,
|
||||||
datedue => $date_due,
|
datedue => $date_due,
|
||||||
seen => !$unseen
|
seen => !$unseen,
|
||||||
|
confirmations => $confirmations
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$template->param( date_due => $date_due );
|
$template->param( date_due => $date_due );
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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="op" value="cud-renew" />
|
||||||
<input type="hidden" name="hard_due_date" value="[% hard_due_date | html %]" />
|
<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>
|
<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">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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" />
|
<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>
|
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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" />
|
<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>
|
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -96,7 +96,7 @@
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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" />
|
<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>
|
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -108,7 +108,7 @@
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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="hidden" name="op" value="cud-renew" />
|
||||||
<input type="submit" class="btn btn-default approve" value="Override and renew" />
|
<input type="submit" class="btn btn-default approve" value="Override and renew" />
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -120,19 +120,20 @@
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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="hidden" name="op" value="cud-renew" />
|
||||||
<input type="submit" class="btn btn-default approve" value="Override and renew" />
|
<input type="submit" class="btn btn-default approve" value="Override and renew" />
|
||||||
</form>
|
</form>
|
||||||
[% END %]
|
[% END %]
|
||||||
[% ELSIF error == "auto_renew" or error == "auto_too_much_oweing" %]
|
[% 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>
|
<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') %]
|
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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" />
|
<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>
|
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -143,7 +144,7 @@
|
||||||
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
|
||||||
[% INCLUDE 'csrf-token.inc' %]
|
[% INCLUDE 'csrf-token.inc' %]
|
||||||
<input type="hidden" name="barcode" value="[% item.barcode | html %]" />
|
<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" />
|
<input type="hidden" name="override_holds" value="1" />
|
||||||
<div>
|
<div>
|
||||||
<label for="renewonholdduedate">Renewal due date:</label>
|
<label for="renewonholdduedate">Renewal due date:</label>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue