my $issuedate = dt_from_string();
- my $calendar = Koha::Calendar->new( branchcode => $branchcode );
-
my $itype = $item_object->effective_itemtype;
+ my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
+ {
+ categorycode => $borrower->{categorycode},
+ itemtype => $itype,
+ branchcode => $branchcode,
+ }
+ );
+ my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $useDaysMode_value );
+
my $orig_due = C4::Circulation::CalcDateDue( $issuedate, $itype, $branchcode, $borrower );
my $decreaseLoanHighHoldsDuration = C4::Context->preference('decreaseLoanHighHoldsDuration');
my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays');
- my $calendar = Koha::Calendar->new( branchcode => $self->branchcode );
my $expirationdate = $today->clone;
$expirationdate->add(days => $max_pickup_delay);
if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
+ my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
+ my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
+ {
+ categorycode => $self->borrower->categorycode,
+ itemtype => $itemtype,
+ branchcode => $self->branchcode,
+ }
+ );
+ my $calendar = Koha::Calendar->new( branchcode => $self->branchcode, days_mode => $useDaysMode_value );
+
$expirationdate = $calendar->days_forward( dt_from_string(), $max_pickup_delay );
}
my $patron_branchcode_filter = $patron_branchcode ? "AND borrowers.branchcode = '$patron_branchcode'" : q{};
- my $query = "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname,
+ my $query = "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, borrowers.categorycode,
borrowers.phone, borrowers.email, borrowers.branchcode, biblio.biblionumber, biblio.title, items.barcode, reserves.waitingdate,
reserves.branchcode AS site, branches.branchname AS site_name,
TO_DAYS(NOW())-TO_DAYS(reserves.waitingdate) AS days_since_waiting
$sth->execute();
my @results;
while ( my $issue = $sth->fetchrow_hashref() ) {
- my $calendar = Koha::Calendar->new( branchcode => $issue->{'site'} );
+ my $item = Koha::Items->find({ barcode => $issue->{barcode} });
+ my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
+ {
+ categorycode => $issue->{categorycode},
+ itemtype => $item->effective_itemtype,
+ branchcode => $issue->{site},
+ }
+ );
+
+ my $calendar = Koha::Calendar->new( branchcode => $issue->{'site'}, days_mode => $useDaysMode_value );
my $waiting_date = dt_from_string( $issue->{waitingdate}, 'sql' );
my $pickup_date = $waiting_date->clone->add( days => $pickupdelay );