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

(-)a/C4/Items.pm (-13 / +19 lines)
Lines 497-503 sub ModItemFromMarc { Link Here
497
    my $biblionumber = shift;
497
    my $biblionumber = shift;
498
    my $itemnumber = shift;
498
    my $itemnumber = shift;
499
499
500
    my $dbh           = C4::Context->dbh;
501
    my $frameworkcode = C4::Biblio::GetFrameworkCode($biblionumber);
500
    my $frameworkcode = C4::Biblio::GetFrameworkCode($biblionumber);
502
    my ( $itemtag, $itemsubfield ) = C4::Biblio::GetMarcFromKohaField( "items.itemnumber", $frameworkcode );
501
    my ( $itemtag, $itemsubfield ) = C4::Biblio::GetMarcFromKohaField( "items.itemnumber", $frameworkcode );
503
502
Lines 511-523 sub ModItemFromMarc { Link Here
511
    }
510
    }
512
    my $unlinked_item_subfields = _get_unlinked_item_subfields( $localitemmarc, $frameworkcode );
511
    my $unlinked_item_subfields = _get_unlinked_item_subfields( $localitemmarc, $frameworkcode );
513
512
514
    ModItem($item, $biblionumber, $itemnumber, $dbh, $frameworkcode, $unlinked_item_subfields); 
513
    ModItem($item, $biblionumber, $itemnumber, { frameworkcode => $frameworkcode, unlinked_item_subfields => $unlinked_item_subfields } ); 
515
    return $item;
514
    return $item;
516
}
515
}
517
516
518
=head2 ModItem
517
=head2 ModItem
519
518
520
  ModItem({ column => $newvalue }, $biblionumber, $itemnumber, $log_action );
519
ModItem(
520
    { column => $newvalue },
521
    $biblionumber,
522
    $itemnumber,
523
    [$frameworkcode,],
524
    {
525
        [ log_action => 1, ]
526
        [ unlinked_item_subfields => $unlinked_item_subfields, ]
527
    }
528
);
521
529
522
Change one or more columns in an item record and update
530
Change one or more columns in an item record and update
523
the MARC representation of the item.
531
the MARC representation of the item.
Lines 544-567 If log_action is true or undefined, the action will be logged. Link Here
544
=cut
552
=cut
545
553
546
sub ModItem {
554
sub ModItem {
547
    my $item = shift;
555
    my $item              = shift;
548
    my $biblionumber = shift;
556
    my $biblionumber      = shift;
549
    my $itemnumber = shift;
557
    my $itemnumber        = shift;
550
    my $additional_params = shift;
558
    my $additional_params = shift;
551
559
560
    my $dbh = C4::Context->dbh;
561
552
    my $log_action = $additional_params->{log_action} // 1;
562
    my $log_action = $additional_params->{log_action} // 1;
563
    my $unlinked_item_subfields = $additional_params->{unlinked_item_subfields};
564
    my $frameworkcode = $additional_params->{frameworkcode} || C4::Biblio::GetFrameworkCode($biblionumber);
553
565
554
    # if $biblionumber is undefined, get it from the current item
566
    # if $biblionumber is undefined, get it from the current item
555
    unless (defined $biblionumber) {
567
    unless (defined $biblionumber) {
556
        $biblionumber = _get_single_item_column('biblionumber', $itemnumber);
568
        $biblionumber = _get_single_item_column('biblionumber', $itemnumber);
557
    }
569
    }
558
570
559
    my $dbh           = @_ ? shift : C4::Context->dbh;
571
    if ($unlinked_item_subfields) {
560
    my $frameworkcode = @_ ? shift : C4::Biblio::GetFrameworkCode( $biblionumber );
561
562
    my $unlinked_item_subfields;
563
    if (@_) {
564
        $unlinked_item_subfields = shift;
565
        $item->{'more_subfields_xml'} = _get_unlinked_subfields_xml($unlinked_item_subfields);
572
        $item->{'more_subfields_xml'} = _get_unlinked_subfields_xml($unlinked_item_subfields);
566
    };
573
    };
567
574
568
- 

Return to bug 18816