bug 3299: fix setting renewal due date explicitly

When renewing a loan from the patron details page, setting
the renewal due date now works again.  Broken by patch
for bug 2770.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This commit is contained in:
Galen Charlton 2009-06-06 14:26:18 -05:00
parent da51de184c
commit ea42477090
1 changed files with 5 additions and 20 deletions

View File

@ -2095,22 +2095,6 @@ sub AddRenewal {
my $branch = (@_) ? shift : $item->{homebranch}; # opac-renew doesn't send branch
my $datedue = shift;
my $lastreneweddate = shift;
# If the due date wasn't specified, calculate it by adding the
# book's loan length to today's date.
unless ($datedue && $datedue->output('iso')) {
my $borrower = C4::Members::GetMemberDetails( $borrowernumber, 0 ) or return undef;
my $loanlength = GetLoanLength(
$borrower->{'categorycode'},
(C4::Context->preference('item-level_itypes')) ? $biblio->{'itype'} : $biblio->{'itemtype'} ,
$item->{homebranch} # item's homebranch determines loanlength OR do we want the branch specified by the AddRenewal argument?
);
#FIXME -- use circControl?
$datedue = CalcDateDue(C4::Dates->new(),$loanlength,$branch,$borrower); # this branch is the transactional branch.
# The question of whether to use item's homebranch calendar is open.
}
# $lastreneweddate defaults to today.
unless (defined $lastreneweddate) {
$lastreneweddate = strftime( "%Y-%m-%d", localtime );
@ -2128,21 +2112,22 @@ sub AddRenewal {
$sth->finish;
# If the due date wasn't specified, calculate it by adding the
# book's loan length to due's date.
unless (@_ and $datedue = shift and $datedue->output('iso')) {
# book's loan length to today's date or the current due date
# based on the value of the RenewalPeriodBase syspref.
unless ($datedue && $datedue->output('iso')) {
my $borrower = C4::Members::GetMemberDetails( $borrowernumber, 0 ) or return undef;
my $loanlength = GetLoanLength(
$borrower->{'categorycode'},
(C4::Context->preference('item-level_itypes')) ? $biblio->{'itype'} : $biblio->{'itemtype'} ,
$item->{homebranch} # item's homebranch determines loanlength OR do we want the branch specified by the AddRenewal argument?
$item->{homebranch} # item's homebranch determines loanlength OR do we want the branch specified by the AddRenewal argument?
);
$datedue = (C4::Context->preference('RenewalPeriodBase') eq 'date_due') ?
C4::Dates->new($issuedata->{date_due}, 'iso') :
C4::Dates->new();
#FIXME -- use circControl?
$datedue = CalcDateDue($datedue,$loanlength,$branch); # this branch is the transactional branch.
$datedue = CalcDateDue($datedue,$loanlength,$branch,$borrower); # this branch is the transactional branch.
# The question of whether to use item's homebranch calendar is open.
}