@@ -, +, @@ --- C4/Circulation.pm | 7 ++++++- opac/opac-renew.pl | 2 +- t/db_dependent/Circulation/issue.t | 17 ++++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -2815,6 +2815,7 @@ sub AddRenewal { my $branch = shift; my $datedue = shift; my $lastreneweddate = shift || DateTime->now(time_zone => C4::Context->tz)->ymd(); + my $opacrenewal = shift; my $item = GetItem($itemnumber) or return; my $item_object = Koha::Items->find( $itemnumber ); # Should replace $item @@ -2915,10 +2916,14 @@ sub AddRenewal { DelUniqueDebarment({ borrowernumber => $borrowernumber, type => 'OVERDUES' }); } + unless ( $opacrenewal ) { #if from opac we are obeying OpacRenewalBranch as calculated in opac-renew.pl + $branch = C4::Context->userenv ? C4::Context->userenv->{branch} : $branch; + } + # Add the renewal to stats UpdateStats( { - branch => C4::Context->userenv ? C4::Context->userenv->{branch} : $branch, + branch => $branch, type => 'renew', amount => $charge, itemnumber => $itemnumber, --- a/opac/opac-renew.pl +++ a/opac/opac-renew.pl @@ -82,7 +82,7 @@ else { else { $branchcode = 'OPACRenew'; } - AddRenewal( $borrowernumber, $itemnumber, $branchcode ); + AddRenewal( $borrowernumber, $itemnumber, $branchcode, undef, undef, 1 ); push( @renewed, $itemnumber ); } else { --- a/t/db_dependent/Circulation/issue.t +++ a/t/db_dependent/Circulation/issue.t @@ -17,7 +17,7 @@ use Modern::Perl; -use Test::More tests => 30; +use Test::More tests => 31; use DateTime::Duration; use t::lib::Mocks; @@ -230,6 +230,21 @@ like( my $stat = $dbh->selectrow_hashref("SELECT * FROM statistics WHERE type = 'renew' AND borrowernumber = ? AND itemnumber = ? AND branch = ?", undef, $borrower_id1, $item_id1, $branchcode_3 ); ok( $stat, "Bug 17781 - 'Improper branchcode set during renewal' still fixed" ); +#Let's do an opac renewal - whatever branchcode we send should be used +my $opac_renew_issue = $builder->build({ source=>"Issue",value=>{ + date_due => '2017-01-01', + branch => $branchcode_1, + itype => $itemtype, + borrowernumber => $borrower_id1 + } + }); + +my $datedue4 = AddRenewal( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, "Stavromula", $datedue1, $daysago10, 1 ); + +$stat = $dbh->selectrow_hashref("SELECT * FROM statistics WHERE type = 'renew' AND borrowernumber = ? AND itemnumber = ? AND branch = ?", undef, $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, "Stavromula" ); +ok( $stat, "Bug 18572 - 'Bug 18572 - OpacRenewalBranch is now respected" ); + + #Test GetBiblioIssues is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" ); --