if ( $borrower->{'dateexpiry'} eq '0000-00-00') {
$issuingimpossible{EXPIRED} = 1;
} else {
- my @expirydate= split /-/,$borrower->{'dateexpiry'};
+ my @expirydate= split (/-/,$borrower->{'dateexpiry'});
if($expirydate[0]==0 || $expirydate[1]==0|| $expirydate[2]==0 ||
Date_to_Days(Today) > Date_to_Days( @expirydate )) {
$issuingimpossible{EXPIRED} = 1;
$iteminformation->{'itemlost'} = $curr_iteminfo->{'itemlost'};
# check if the book is in a permanent collection....
- my $hbr = $iteminformation->{C4::Context->preference("HomeOrHoldingBranch")};
+ my $hbr = C4::Context->preference("HomeOrHoldingBranchReturn") || "homebranch";
+ $hbr = $iteminformation->{$hbr};
my $branches = GetBranches();
# FIXME -- This 'PE' attribute is largely undocumented. afaict, there's no user interface that reflects this functionality.
if ( $hbr && $branches->{$hbr}->{'PE'} ) {
$doreturn = 0;
}
-
+ # We know the document was just seen
+ ModDateLastSeen( $iteminformation->{'itemnumber'} );
+
# new op dev : if the book returned in an other branch update the holding branch
# update issues, thereby returning book (should push this out into another subroutine
$borrower = C4::Members::GetMemberDetails( $iteminformation->{borrowernumber}, 0 );
# case of a return of document (deal with issues and holdingbranch)
-
+
if ($doreturn) {
my $circControlBranch = _GetCircControlBranch($iteminformation,$borrower);
if($dropbox) {
# We update the holdingbranch from circControlBranch variable
UpdateHoldingbranch($branch,$iteminformation->{'itemnumber'});
$iteminformation->{'holdingbranch'} = $branch;
-
-
- ModDateLastSeen( $iteminformation->{'itemnumber'} );
+
ModItem({ onloan => undef }, $biblio->{'biblionumber'}, $iteminformation->{'itemnumber'});
if ($iteminformation->{borrowernumber}){
my ($startdate,$loanlength,$branch,$borrower) = @_;
my $datedue;
- if(C4::Context->preference('useDaysMode') eq 'Days') { # ignoring calendar
- my $timedue = time + ($loanlength) * 86400;
- #FIXME - assumes now even though we take a startdate
- my @datearr = localtime($timedue);
- $datedue = C4::Dates->new( sprintf("%04d-%02d-%02d", 1900 + $datearr[5], $datearr[4] + 1, $datearr[3]), 'iso');
- } else {
- my $calendar = C4::Calendar->new( branchcode => $branch );
- $datedue = $calendar->addDate($startdate, $loanlength);
- }
+ my $calendar = C4::Calendar->new( branchcode => $branch );
+ $datedue = $calendar->addDate($startdate, $loanlength);
# if ReturnBeforeExpiry ON the datedue can't be after borrower expirydate
if ( C4::Context->preference('ReturnBeforeExpiry') && $datedue->output('iso') gt $borrower->{dateexpiry} ) {