[Koha-patches] [PATCH] [bug #2770][3.0.x] change the date calc, to set the date_due to date_due+loanlength.
Nahuel Angelinetti
nahuel.angelinetti at biblibre.com
Mon Nov 10 12:58:46 CET 2008
At the moment when you renew a document the date_due calculated is now+loanlength, but it's a bad thing, It should be
date_due+loanlength.
This patch do change Circulation.pm to use the date_due as renew base and add the loanlength to get the new date_due after
renewal.
---
C4/Circulation.pm | 30 ++++++++++++++++--------------
1 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/C4/Circulation.pm b/C4/Circulation.pm
index 432a519..7a68d94 100644
--- a/C4/Circulation.pm
+++ b/C4/Circulation.pm
@@ -1918,20 +1918,6 @@ sub AddRenewal {
my $biblio = GetBiblioFromItemNumber($itemnumber) or return undef;
my $branch = (@_) ? shift : $item->{homebranch}; # opac-renew doesn't send branch
my $datedue;
- # If the due date wasn't specified, calculate it by adding the
- # book's loan length to today's date.
- unless (@_ and $datedue = shift and $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); # this branch is the transactional branch.
- # The question of whether to use item's homebranch calendar is open.
- }
my $dbh = C4::Context->dbh;
# Find the issues record for this book
@@ -1944,6 +1930,22 @@ sub AddRenewal {
my $issuedata = $sth->fetchrow_hashref;
$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')) {
+
+ 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($issuedata->{date_due}, 'iso'),$loanlength,$branch); # this branch is the transactional branch.
+ # The question of whether to use item's homebranch calendar is open.
+ }
+
# Update the issues record to have the new due date, and a new count
# of how many times it has been renewed.
my $renews = $issuedata->{'renewals'} + 1;
--
1.5.6.3
More information about the Koha-patches
mailing list