|
Lines 188-193
sub store {
Link Here
|
| 188 |
} |
188 |
} |
| 189 |
} |
189 |
} |
| 190 |
|
190 |
|
|
|
191 |
my $prevent_withdrawing_of = C4::Context->preference('PreventWithDrawingItemsStatus'); |
| 192 |
my @statuses_to_prevent = defined $prevent_withdrawing_of ? split( ',', $prevent_withdrawing_of ) : (); |
| 193 |
my $prevent_onloan = grep { $_ eq 'checkedout' } @statuses_to_prevent; |
| 194 |
my $prevent_intransit = grep { $_ eq 'intransit' } @statuses_to_prevent; |
| 195 |
|
| 196 |
if ( exists $updated_columns{withdrawn} && $updated_columns{withdrawn} ) { |
| 197 |
my $transfer = $pre_mod_item->get_transfer; |
| 198 |
if ( $pre_mod_item->onloan && $prevent_onloan ) { |
| 199 |
Koha::Exceptions::Item::Transfer::OnLoan->throw( error => "onloan_cannot_withdraw" ); |
| 200 |
return $self->SUPER::store; |
| 201 |
} |
| 202 |
|
| 203 |
if ( defined $transfer && $transfer->in_transit && $prevent_intransit ) { |
| 204 |
Koha::Exceptions::Item::Transfer::InTransit->throw( error => "intransit_cannot_withdraw" ); |
| 205 |
return $self->SUPER::store; |
| 206 |
} |
| 207 |
} |
| 208 |
|
| 191 |
if ( exists $updated_columns{itemcallnumber} |
209 |
if ( exists $updated_columns{itemcallnumber} |
| 192 |
or exists $updated_columns{cn_source} ) |
210 |
or exists $updated_columns{cn_source} ) |
| 193 |
{ |
211 |
{ |