Bug 12556: Refactor hold transfer status setting to its own method

Signed-off-by: Timothy Alexis Vass <timothy_alexis.vass@ub.lu.se>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Joonas Kylmälä 2020-07-22 15:44:31 +00:00 committed by Jonathan Druart
parent c760a8d381
commit 3db0ee0001
3 changed files with 20 additions and 9 deletions

View File

@ -1161,9 +1161,9 @@ sub ModReserveAffect {
my $already_on_shelf = $hold->found && $hold->found eq 'W';
$hold->itemnumber($itemnumber);
$hold->set_waiting($transferToDo);
if( !$transferToDo ){
$hold->set_waiting();
_koha_notify_reserve( $hold->reserve_id ) unless $already_on_shelf;
my $transfers = Koha::Item::Transfers->search({
itemnumber => $itemnumber,
@ -1172,7 +1172,9 @@ sub ModReserveAffect {
while( my $transfer = $transfers->next ){
$transfer->datearrived( dt_from_string() )->store;
};
}
} else {
$hold->set_transfer();
}
_FixPriority( { biblionumber => $biblionumber } );

View File

@ -153,20 +153,29 @@ sub delete {
return $deleted;
}
=head3 set_transfer
=cut
sub set_transfer {
my ( $self ) = @_;
$self->priority(0);
$self->found('T');
$self->store();
return $self;
}
=head3 set_waiting
=cut
sub set_waiting {
my ( $self, $transferToDo ) = @_;
my ( $self ) = @_;
$self->priority(0);
if ($transferToDo) {
$self->found('T')->store();
return $self;
}
my $today = dt_from_string();
my $values = {
found => 'W',

View File

@ -224,7 +224,7 @@ subtest 'suspend() tests' => sub {
is( $@->status, 'W', 'Exception gets the \'status\' parameter set correctly' );
# set hold found=T
$hold->set_waiting(1);
$hold->set_transfer;
throws_ok
{ $hold->suspend_hold; }
'Koha::Exceptions::Hold::CannotSuspendFound',