@@ -, +, @@
---
.../bootstrap/en/modules/opac-user.tt | 2 +-
opac/opac-renew.pl | 20 ++++++++++++-------
opac/opac-user.pl | 2 +-
3 files changed, 15 insertions(+), 9 deletions(-)
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
@@ -405,7 +405,7 @@
[% IF ISSUE.renewed %]Renewed!
[% END %]
[% IF ( ISSUE.status ) %]
[% IF ( canrenew ) %]
- Renew
+ Renew
[% END %]
[% IF ISSUE.renewalfee > 0 %]
Fee for item type '[% ItemTypes.GetDescription( ISSUE.renewalitemtype) | html %]': [% ISSUE.renewalfee | $Price %]
--- a/opac/opac-renew.pl
+++ a/opac/opac-renew.pl
@@ -38,8 +38,8 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
query => $query,
type => "opac",
}
-);
-my @items = $query->multi_param('item');
+);
+my @issues = $query->multi_param('issue');
my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
@@ -55,13 +55,19 @@ if ( $patron->category->effective_BlockExpiredPatronOpacActions
}
else {
my @renewed;
- for my $itemnumber (@items) {
- my $item = Koha::Items->find($itemnumber);
+ my $issues = Koha::Checkouts->search(
+ {
+ issue_id => { -in => @issues }
+ }, {
+ prefetch => 'item'
+ }
+ );
+ while( my $issue = $issues->next) {
my ( $status, $error ) =
- CanBookBeRenewed( $patron, $item->checkout ); #TODO: Pass issue numbers instead
+ CanBookBeRenewed( $patron, $issue );
if ( $status == 1 && $opacrenew == 1 ) {
- AddRenewal( $borrowernumber, $itemnumber, undef, undef, undef, undef, 0 );
- push( @renewed, $itemnumber );
+ AddRenewal( $borrowernumber, $issue->itemnumber, undef, undef, undef, undef, 0 );
+ push( @renewed, $issue->itemnumber );
}
else {
$errorstring .= $error . "|";
--- a/opac/opac-user.pl
+++ a/opac/opac-user.pl
@@ -234,7 +234,7 @@ if ( $pending_checkouts->count ) { # Useless test
$issue->{'unseencount'},
$issue->{'unseenallowed'},
$issue->{'unseenleft'}
- ) = GetRenewCount($borrowernumber, $issue->{'itemnumber'});
+ ) = GetRenewCount($patron, $c->item);
( $issue->{'renewalfee'}, $issue->{'renewalitemtype'} ) = GetIssuingCharges( $issue->{'itemnumber'}, $borrowernumber );
$issue->{itemtype_object} = Koha::ItemTypes->find( $c->item->effective_itemtype );
if($status && C4::Context->preference("OpacRenewalAllowed")){
--