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

(-)a/Koha/StockRotationItem.pm (-3 / +4 lines)
Lines 119-125 sub needs_advancing { Link Here
119
    return 0 if $self->itemnumber->get_transfer; # intransfer: don't advance.
119
    return 0 if $self->itemnumber->get_transfer; # intransfer: don't advance.
120
    return 1 if $self->fresh;                    # Just on rota: advance.
120
    return 1 if $self->fresh;                    # Just on rota: advance.
121
    my $completed = $self->itemnumber->_result->branchtransfers->search(
121
    my $completed = $self->itemnumber->_result->branchtransfers->search(
122
        { 'comments'    => "StockrotationAdvance" },
122
        { 'trigger'    => "StockrotationAdvance" },
123
        { order_by => { -desc => 'datearrived' } }
123
        { order_by => { -desc => 'datearrived' } }
124
    );
124
    );
125
    # Do maths on whether we need to be moved on.
125
    # Do maths on whether we need to be moved on.
Lines 156-162 sub repatriate { Link Here
156
        'frombranch' => $self->itemnumber->holdingbranch,
156
        'frombranch' => $self->itemnumber->holdingbranch,
157
        'tobranch'   => $self->stage->branchcode_id,
157
        'tobranch'   => $self->stage->branchcode_id,
158
        'datesent'   => DateTime->now,
158
        'datesent'   => DateTime->now,
159
        'comments'   => $msg || "StockrotationRepatriation",
159
        'comments'   => $msg,
160
        'trigger'    => "StockrotationRepatriation"
160
    })->store;
161
    })->store;
161
    $self->itemnumber->homebranch($self->stage->branchcode_id)->store;
162
    $self->itemnumber->homebranch($self->stage->branchcode_id)->store;
162
    return $transfer_stored;
163
    return $transfer_stored;
Lines 185-191 sub advance { Link Here
185
        'itemnumber' => $self->itemnumber_id,
186
        'itemnumber' => $self->itemnumber_id,
186
        'frombranch' => $item->holdingbranch,
187
        'frombranch' => $item->holdingbranch,
187
        'datesent'   => DateTime->now,
188
        'datesent'   => DateTime->now,
188
        'comments'   => "StockrotationAdvance"
189
        'trigger'   => "StockrotationAdvance"
189
    });
190
    });
190
191
191
    if ( $self->indemand && !$self->fresh ) {
192
    if ( $self->indemand && !$self->fresh ) {
(-)a/t/db_dependent/StockRotationItems.t (-7 / +6 lines)
Lines 175-181 subtest "Tests for needs_advancing." => sub { Link Here
175
        'tobranch'    => $dbitem->stage->branchcode_id,
175
        'tobranch'    => $dbitem->stage->branchcode_id,
176
        'datesent'    => DateTime->now,
176
        'datesent'    => DateTime->now,
177
        'datearrived' => undef,
177
        'datearrived' => undef,
178
        'comments'    => "StockrotationAdvance",
178
        'trigger'     => "StockrotationAdvance",
179
    })->store;
179
    })->store;
180
180
181
    # Test item will not be advanced if in transit.
181
    # Test item will not be advanced if in transit.
Lines 307-313 subtest "Tests for investigate (singular)." => sub { Link Here
307
        'tobranch'    => $dbitem->itemnumber->homebranch,
307
        'tobranch'    => $dbitem->itemnumber->homebranch,
308
        'datesent'    => DateTime->now,
308
        'datesent'    => DateTime->now,
309
        'datearrived' => DateTime->now,
309
        'datearrived' => DateTime->now,
310
        'comments'    => "StockrotationAdvance",
310
        'trigger'     => "StockrotationAdvance",
311
    })->store;
311
    })->store;
312
    is($dbitem->investigate->{reason}, 'repatriation', "older item repatriates.");
312
    is($dbitem->investigate->{reason}, 'repatriation', "older item repatriates.");
313
313
Lines 323-329 subtest "Tests for investigate (singular)." => sub { Link Here
323
        'tobranch'    => $dbitem->stage->branchcode_id,
323
        'tobranch'    => $dbitem->stage->branchcode_id,
324
        'datesent'    => DateTime->now,
324
        'datesent'    => DateTime->now,
325
        'datearrived' => DateTime->now,
325
        'datearrived' => DateTime->now,
326
        'comments'    => "StockrotationAdvance",
326
        'trigger'     => "StockrotationAdvance",
327
    })->store;
327
    })->store;
328
    $dbitem->itemnumber->homebranch($dbitem->stage->branchcode_id)->store;
328
    $dbitem->itemnumber->homebranch($dbitem->stage->branchcode_id)->store;
329
    $dbitem->itemnumber->holdingbranch($dbitem->stage->branchcode_id)->store;
329
    $dbitem->itemnumber->holdingbranch($dbitem->stage->branchcode_id)->store;
Lines 342-348 subtest "Tests for investigate (singular)." => sub { Link Here
342
        'tobranch'    => $dbitem->stage->branchcode_id,
342
        'tobranch'    => $dbitem->stage->branchcode_id,
343
        'datesent'    => DateTime->now - $sent_duration,
343
        'datesent'    => DateTime->now - $sent_duration,
344
        'datearrived' => DateTime->now - $arrived_duration,
344
        'datearrived' => DateTime->now - $arrived_duration,
345
        'comments'    => "StockrotationAdvance",
345
        'trigger'     => "StockrotationAdvance",
346
    })->store;
346
    })->store;
347
    $dbitem->itemnumber->homebranch($dbitem->stage->branchcode_id)->store;
347
    $dbitem->itemnumber->homebranch($dbitem->stage->branchcode_id)->store;
348
    $dbitem->itemnumber->holdingbranch($dbitem->stage->branchcode_id)->store;
348
    $dbitem->itemnumber->holdingbranch($dbitem->stage->branchcode_id)->store;
Lines 362-368 subtest "Tests for investigate (singular)." => sub { Link Here
362
        'tobranch'    => $dbitem->stage->branchcode_id,
362
        'tobranch'    => $dbitem->stage->branchcode_id,
363
        'datesent'    => DateTime->now - $sent_duration,
363
        'datesent'    => DateTime->now - $sent_duration,
364
        'datearrived' => DateTime->now - $arrived_duration,
364
        'datearrived' => DateTime->now - $arrived_duration,
365
        'comments'    => "StockrotationAdvance",
365
        'trigger'     => "StockrotationAdvance",
366
    })->store;
366
    })->store;
367
    $dbitem->itemnumber->homebranch($dbitem->stage->branchcode_id)->store;
367
    $dbitem->itemnumber->homebranch($dbitem->stage->branchcode_id)->store;
368
    $dbitem->itemnumber->holdingbranch($dbitem->stage->branchcode_id)->store;
368
    $dbitem->itemnumber->holdingbranch($dbitem->stage->branchcode_id)->store;
Lines 382-388 subtest "Tests for investigate (singular)." => sub { Link Here
382
        'tobranch'    => $dbitem->stage->branchcode_id,
382
        'tobranch'    => $dbitem->stage->branchcode_id,
383
        'datesent'    => DateTime->now - $sent_duration,
383
        'datesent'    => DateTime->now - $sent_duration,
384
        'datearrived' => DateTime->now - $arrived_duration,
384
        'datearrived' => DateTime->now - $arrived_duration,
385
        'comments'    => "StockrotationAdvance",
385
        'trigger'     => "StockrotationAdvance",
386
    })->store;
386
    })->store;
387
    is($dbitem->investigate->{reason}, 'repatriation',
387
    is($dbitem->investigate->{reason}, 'repatriation',
388
       "Item advances, but not at stage branch.");
388
       "Item advances, but not at stage branch.");
389
- 

Return to bug 24296