|
Lines 30-36
BEGIN {
Link Here
|
| 30 |
AddItemBatchFromMarc |
30 |
AddItemBatchFromMarc |
| 31 |
ModItemFromMarc |
31 |
ModItemFromMarc |
| 32 |
Item2Marc |
32 |
Item2Marc |
| 33 |
ModItem |
|
|
| 34 |
ModDateLastSeen |
33 |
ModDateLastSeen |
| 35 |
ModItemTransfer |
34 |
ModItemTransfer |
| 36 |
DelItem |
35 |
DelItem |
|
Lines 374-442
sub ModItemFromMarc {
Link Here
|
| 374 |
return $item_object->get_from_storage->unblessed; |
373 |
return $item_object->get_from_storage->unblessed; |
| 375 |
} |
374 |
} |
| 376 |
|
375 |
|
| 377 |
=head2 ModItem |
|
|
| 378 |
|
| 379 |
ModItem( |
| 380 |
{ column => $newvalue }, |
| 381 |
$biblionumber, |
| 382 |
$itemnumber, |
| 383 |
{ |
| 384 |
[ unlinked_item_subfields => $unlinked_item_subfields, ] |
| 385 |
[ log_action => 1, ] |
| 386 |
} |
| 387 |
); |
| 388 |
|
| 389 |
Change one or more columns in an item record. |
| 390 |
|
| 391 |
The first argument is a hashref mapping from item column |
| 392 |
names to the new values. The second and third arguments |
| 393 |
are the biblionumber and itemnumber, respectively. |
| 394 |
The fourth, optional parameter (additional_params) may contain the keys |
| 395 |
unlinked_item_subfields and log_action. |
| 396 |
|
| 397 |
C<$unlinked_item_subfields> contains an arrayref containing |
| 398 |
subfields present in the original MARC |
| 399 |
representation of the item (e.g., from the item editor) that are |
| 400 |
not mapped to C<items> columns directly but should instead |
| 401 |
be stored in C<items.more_subfields_xml> and included in |
| 402 |
the biblio items tag for display and indexing. |
| 403 |
|
| 404 |
If one of the changed columns is used to calculate |
| 405 |
the derived value of a column such as C<items.cn_sort>, |
| 406 |
this routine will perform the necessary calculation |
| 407 |
and set the value. |
| 408 |
|
| 409 |
If log_action is set to false, the action will not be logged. |
| 410 |
If log_action is true or undefined, the action will be logged. |
| 411 |
|
| 412 |
=cut |
| 413 |
|
| 414 |
sub ModItem { |
| 415 |
my ( $item, $biblionumber, $itemnumber, $additional_params ) = @_; |
| 416 |
my $log_action = $additional_params->{log_action} // 1; |
| 417 |
|
| 418 |
_set_derived_columns_for_mod($item); |
| 419 |
_do_column_fixes_for_mod($item); |
| 420 |
# FIXME add checks |
| 421 |
# duplicate barcode |
| 422 |
# attempt to change itemnumber |
| 423 |
# attempt to change biblionumber (if we want |
| 424 |
# an API to relink an item to a different bib, |
| 425 |
# it should be a separate function) |
| 426 |
|
| 427 |
# update items table |
| 428 |
_koha_modify_item($item); |
| 429 |
|
| 430 |
# request that bib be reindexed so that searching on current |
| 431 |
# item status is possible |
| 432 |
ModZebra( $biblionumber, "specialUpdate", "biblioserver" ); |
| 433 |
|
| 434 |
_after_item_action_hooks({ action => 'modify', item_id => $itemnumber }); |
| 435 |
|
| 436 |
logaction( "CATALOGUING", "MODIFY", $itemnumber, "item " . Dumper($item) ) |
| 437 |
if $log_action && C4::Context->preference("CataloguingLog"); |
| 438 |
} |
| 439 |
|
| 440 |
=head2 ModItemTransfer |
376 |
=head2 ModItemTransfer |
| 441 |
|
377 |
|
| 442 |
ModItemTransfer($itenumber, $frombranch, $tobranch); |
378 |
ModItemTransfer($itenumber, $frombranch, $tobranch); |
| 443 |
- |
|
|