=cut
sub AddReturn {
- my ( $barcode, $branch, $exemptfine, $dropbox, $return_date ) = @_;
+ my ( $barcode, $branch, $exemptfine, $dropbox, $return_date, $dropboxdate ) = @_;
if ($branch and not GetBranchDetail($branch)) {
warn "AddReturn error: branch '$branch' not found. Reverting to " . C4::Context->userenv->{'branch'};
# FIXME: check issuedate > returndate, factoring in holidays
#$circControlBranch = _GetCircControlBranch($item,$borrower) unless ( $item->{'issuedate'} eq C4::Dates->today('iso') );;
$circControlBranch = _GetCircControlBranch($item,$borrower);
- $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $today ) == -1 ? 1 : 0;
+ $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $dropboxdate ) == -1 ? 1 : 0;
}
if ($borrowernumber) {
if ( $issue->{overdue} && $issue->{date_due} ) {
# fix fine days
+ $today = $dropboxdate if $dropbox;
my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
if ($reminder){
$messages->{'PrevDebarred'} = $debardate;
# save the return
#
( $returned, $messages, $issueinformation, $borrower ) =
- AddReturn( $barcode, $userenv_branch, $exemptfine, $dropboxmode, $return_date_override );
+ AddReturn( $barcode, $userenv_branch, $exemptfine, $dropboxmode, $return_date_override, $dropboxdate );
my $homeorholdingbranchreturn = C4::Context->preference('HomeOrHoldingBranchReturn');
$homeorholdingbranchreturn ||= 'homebranch';
$riduedate{0} = $duedate;
$input{borrowernumber} = $borrower->{'borrowernumber'};
$input{duedate} = $duedate;
- $input{return_overdue} = 1 if (DateTime->compare($issueinformation->{date_due}, $time_now) == -1);
+ unless ( $dropboxmode ) {
+ $input{return_overdue} = 1 if (DateTime->compare($issueinformation->{date_due}, DateTime->now()) == -1);
+ } else {
+ $input{return_overdue} = 1 if (DateTime->compare($issueinformation->{date_due}, $dropboxdate) == -1);
+ }
push( @inputloop, \%input );
if ( C4::Context->preference("FineNotifyAtCheckin") ) {
$ri{minute} = $duedate->minute();
$ri{duedate} = output_pref($duedate);
my ($b) = GetMemberDetails( $riborrowernumber{$_}, 0 );
- $ri{return_overdue} = 1 if (DateTime->compare($duedate, DateTime->now()) == -1 );
+ unless ( $dropboxmode ) {
+ $ri{return_overdue} = 1 if (DateTime->compare($duedate, DateTime->now()) == -1);
+ } else {
+ $ri{return_overdue} = 1 if (DateTime->compare($duedate, $dropboxdate) == -1);
+ }
$ri{borrowernumber} = $b->{'borrowernumber'};
$ri{borcnum} = $b->{'cardnumber'};
$ri{borfirstname} = $b->{'firstname'};