Bug 12063: [QA Follow-up] Small change of two test scripts
[koha-ffzg.git] / installer / data / mysql / atomicupdate / bug_12063-define_expirationdate_for_waitting_reserves.perl
1 $DBversion = 'XXX';
2 if( CheckVersion( $DBversion ) ) {
3     require Koha::Calendar;
4     require Koha::Holds;
5
6     my $waiting_holds = Koha::Holds->search({ found => 'W', priority => 0 });
7     my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay");
8     while ( my $hold = $waiting_holds->next ) {
9
10         my $requested_expiration;
11         if ($hold->expirationdate) {
12             $requested_expiration = dt_from_string($hold->expirationdate);
13         }
14
15         my $calendar = Koha::Calendar->new( branchcode => $hold->branchcode );
16         my $expirationdate = dt_from_string();
17         $expirationdate->add(days => $max_pickup_delay);
18
19         if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
20             $expirationdate = $calendar->days_forward( dt_from_string(), $max_pickup_delay );
21         }
22
23         my $cmp = $requested_expiration ? DateTime->compare($requested_expiration, $expirationdate) : 0;
24         $hold->expirationdate($cmp == -1 ? $requested_expiration->ymd : $expirationdate->ymd)->store;
25     }
26
27     SetVersion( $DBversion );
28     print "Upgrade to $DBversion done (Bug 12063 - Update reserves.expirationdate)\n";
29 }