View | Details | Raw Unified | Return to bug 34032
Collapse All | Expand All

(-)a/C4/Reserves.pm (-5 / +5 lines)
Lines 2161-2173 sub RevertWaitingStatus { Link Here
2161
    ## Fix up the currently waiting reserve
2161
    ## Fix up the currently waiting reserve
2162
    $hold->set(
2162
    $hold->set(
2163
        {
2163
        {
2164
            priority    => 1,
2164
            priority       => 1,
2165
            found       => undef,
2165
            found          => undef,
2166
            waitingdate => undef,
2166
            waitingdate    => undef,
2167
            expirationdate => $hold->patron_expiration_date,
2167
            expirationdate => $hold->patron_expiration_date,
2168
            itemnumber  => $hold->item_level_hold ? $hold->itemnumber : undef,
2168
            itemnumber     => $hold->item_level_hold ? $hold->itemnumber : undef,
2169
        }
2169
        }
2170
    )->store({ hold_reverted => 1 });
2170
    )->store( { hold_reverted => 1 } );
2171
2171
2172
    logaction( 'HOLDS', 'MODIFY', $hold->id, $hold )
2172
    logaction( 'HOLDS', 'MODIFY', $hold->id, $hold )
2173
        if C4::Context->preference('HoldsLog');
2173
        if C4::Context->preference('HoldsLog');
(-)a/Koha/Hold.pm (-5 / +7 lines)
Lines 954-965 sub store { Link Here
954
        return $self->SUPER::store unless %updated_columns;
954
        return $self->SUPER::store unless %updated_columns;
955
        if ( exists $updated_columns{reservedate} || $hold_reverted ) {
955
        if ( exists $updated_columns{reservedate} || $hold_reverted ) {
956
            if (
956
            if (
957
                ( C4::Context->preference('DefaultHoldExpirationdate')
957
                (
958
                    && ( ! exists $updated_columns{expirationdate} || $hold_reverted ) )
958
                    C4::Context->preference('DefaultHoldExpirationdate')
959
            )
959
                    && ( !exists $updated_columns{expirationdate} || $hold_reverted )
960
                )
961
                )
960
            {
962
            {
961
                if($self->patron_expiration_date){
963
                if ( $self->patron_expiration_date ) {
962
                    $self->expirationdate($self->patron_expiration_date);
964
                    $self->expirationdate( $self->patron_expiration_date );
963
                } else {
965
                } else {
964
                    $self->_set_default_expirationdate;
966
                    $self->_set_default_expirationdate;
965
                }
967
                }
(-)a/t/db_dependent/Hold.t (-8 / +7 lines)
Lines 225-245 subtest "store() tests" => sub { Link Here
225
    $passed_date = dt_from_string('2023-06-20');
225
    $passed_date = dt_from_string('2023-06-20');
226
    $hold->set(
226
    $hold->set(
227
        {
227
        {
228
            reservedate    => $passed_date->ymd,
228
            reservedate => $passed_date->ymd,
229
            waitingdate    => $passed_date->ymd,
229
            waitingdate => $passed_date->ymd,
230
        }
230
        }
231
    )->store();
231
    )->store();
232
    $hold->discard_changes;
232
    $hold->discard_changes;
233
233
234
    $hold->set_waiting;
234
    $hold->set_waiting;
235
    C4::Reserves::RevertWaitingStatus(
235
    C4::Reserves::RevertWaitingStatus( { itemnumber => $item->itemnumber } );
236
        { itemnumber => $item->itemnumber }
237
    );
238
    $hold->discard_changes;
236
    $hold->discard_changes;
239
237
240
    $expected_date = dt_from_string( $hold->reservedate )->add( years => 2 )->ymd;
238
    $expected_date = dt_from_string( $hold->reservedate )->add( years => 2 )->ymd;
241
    is( $hold->expirationdate,
239
    is(
242
        $expected_date, 'Expiration date set after reverting holds waiting status.' );
240
        $hold->expirationdate,
241
        $expected_date, 'Expiration date set after reverting holds waiting status.'
242
    );
243
243
244
    my $patron_expiration_date = dt_from_string('2023-11-06')->ymd;
244
    my $patron_expiration_date = dt_from_string('2023-11-06')->ymd;
245
    $hold = Koha::Hold->new(
245
    $hold = Koha::Hold->new(
246
- 

Return to bug 34032