From bb2a0645c951b7ae6b1a559a7bfc22b411a00e49 Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Thu, 24 Apr 2025 15:37:25 +0000 Subject: [PATCH] Bug 39631: (follow-up) Fix No branchcode argument passed --- misc/cronjobs/longoverdue.pl | 39 +++++++++++------------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/misc/cronjobs/longoverdue.pl b/misc/cronjobs/longoverdue.pl index de2f6994a7..54305ad3dd 100755 --- a/misc/cronjobs/longoverdue.pl +++ b/misc/cronjobs/longoverdue.pl @@ -351,18 +351,7 @@ sub longoverdue_sth { SELECT items.itemnumber, borrowernumber, date_due, itemlost FROM issues, items WHERE items.itemnumber = issues.itemnumber - "; - if ( !C4::Context->preference('OverdueNoticeCalendar') ) { - $query .= " - AND DATE_SUB(CURDATE(), INTERVAL ? DAY) > date_due - AND DATE_SUB(CURDATE(), INTERVAL ? DAY) <= date_due - "; - } else { - $query .= " - AND TO_DAYS(NOW())-TO_DAYS(issues.date_due) >= 0 - "; - } - $query .= " + AND TO_DAYS(NOW())-TO_DAYS(issues.date_due) >= 0 AND itemlost <> ? $skip_lost_values_sql ORDER BY date_due @@ -482,11 +471,7 @@ foreach my $startrange ( sort keys %$lost ) { $verbose and printf "\nRange %s\nDue %3s - %3s days ago (%s to %s), lost => %s\n", ++$i, $startrange, $endrange, $date2, $date1, $lostvalue; - if ( C4::Context->preference('OverdueNoticeCalendar') ) { - $sth_items->execute($lostvalue); - } else { - $sth_items->execute( $startrange, $endrange, $lostvalue ); - } + $sth_items->execute($lostvalue); $count = 0; ITEM: while ( my $row = $sth_items->fetchrow_hashref ) { my $patron; @@ -506,13 +491,15 @@ foreach my $startrange ( sort keys %$lost ) { } else { # ( $_ eq 'ItemHomeLibrary' ) if ( $home_holding_pref eq 'homebranch' ) { $lib = Koha::Items->find( $row->{itemnumber} )->homebranch(); - } else { # ( $home_holding_pref eq 'holdingbranch' ) + } else { # ( $_ eq 'holdingbranch' ) $lib = Koha::Items->find( $row->{itemnumber} )->holdingbranch(); } } } next ITEM unless ( $branches_to_process{$lib} ); } + my $date = dt_from_string(); + my $days_between = $date->delta_days( dt_from_string( $row->{date_due} ) ); if ( C4::Context->preference('OverdueNoticeCalendar') ) { my $lib; if ( $circ_control_pref eq 'PatronLibrary' ) { @@ -520,22 +507,20 @@ foreach my $startrange ( sort keys %$lost ) { $lib = $patron->branchcode(); } elsif ( $circ_control_pref eq 'PickupLibrary' ) { $lib = C4::Context->userenv->{'branch'}; - } else { # ( $_ eq 'ItemHomeLibrary' ) + } else { if ( $circ_control_pref eq 'homebranch' ) { $lib = Koha::Items->find( $row->{itemnumber} )->homebranch(); - } else { # ( $circ_control_pref eq 'holdingbranch' ) + } else { $lib = Koha::Items->find( $row->{itemnumber} )->holdingbranch(); } } - my $calendar = Koha::Calendar->new( branchcode => $lib ); - my $date_to_run = dt_from_string(); - my $days_between = $calendar->days_between( dt_from_string( $row->{date_due} ), $date_to_run ); - $days_between = $days_between->in_units('days'); - my $longoverdue_days = C4::Context->preference('DefaultLongOverdueDays'); - if ( $days_between < $longoverdue_days ) { - next; + if ($lib) { + my $calendar = Koha::Calendar->new( branchcode => $lib ); + $days_between = $calendar->days_between( dt_from_string( $row->{date_due} ), $date ); } } + $days_between = $days_between->in_units('days'); + next ITEM if ( $days_between < $startrange ); if ($filter_itemtypes) { my $it = uc Koha::Items->find( $row->{itemnumber} )->effective_itemtype(); next ITEM unless ( $itemtype_to_process{$it} ); -- 2.34.1