X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=acqui%2Ffinishreceive.pl;h=900733d4021201fce9269f38b18c0c00ab5ed89b;hb=8ae61b6a2a6b2c6e27f33d1d32e1849265782530;hp=565ac36d7260ad776a351c5c7d2cd9ad75e6f46e;hpb=23de370b2d73babe7378d419f59e3af7a632e394;p=koha.git diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl index 565ac36d72..900733d402 100755 --- a/acqui/finishreceive.pl +++ b/acqui/finishreceive.pl @@ -40,7 +40,6 @@ checkauth($input, 0, $flagsrequired, 'intranet'); my $user = $input->remote_user; my $biblionumber = $input->param('biblionumber'); -my $biblioitemnumber = $input->param('biblioitemnumber'); my $ordernumber = $input->param('ordernumber'); my $origquantityrec = $input->param('origquantityrec'); my $quantityrec = $input->param('quantityrec'); @@ -52,10 +51,10 @@ my $invoiceno = $invoice->{invoicenumber}; my $datereceived = $invoice->{shipmentdate}; my $booksellerid = $input->param('booksellerid'); my $cnt = 0; -my $error_url_str; my $ecost = $input->param('ecost'); my $rrp = $input->param('rrp'); my $note = $input->param("note"); +my $bookfund = $input->param("bookfund"); my $order = GetOrder($ordernumber); #need old recievedate if we update the order, parcel.pl only shows the right parcel this way FIXME @@ -63,6 +62,21 @@ if ($quantityrec > $origquantityrec ) { my @received_items = (); if(C4::Context->preference('AcqCreateItem') eq 'ordering') { @received_items = $input->param('items_to_receive'); + my @affects = split q{\|}, C4::Context->preference("AcqItemSetSubfieldsWhenReceived"); + if ( @affects ) { + my $frameworkcode = GetFrameworkCode($biblionumber); + my ( $itemfield ) = GetMarcFromKohaField( 'items.itemnumber', $frameworkcode ); + for my $in ( @received_items ) { + my $item = C4::Items::GetMarcItem( $biblionumber, $in ); + for my $affect ( @affects ) { + my ( $sf, $v ) = split q{=}, $affect, 2; + foreach ( $item->field($itemfield) ) { + $_->update( $sf => $v ); + } + } + C4::Items::ModItemFromMarc( $item, $biblionumber, $in ); + } + } } $order->{rrp} = $rrp; @@ -93,9 +107,9 @@ if ($quantityrec > $origquantityrec ) { $user, $order->{unitprice}, $order->{ecost}, - $invoiceno, + $invoiceid, $order->{rrp}, - undef, + $bookfund, $datereceived, \@received_items, ); @@ -137,7 +151,6 @@ if ($quantityrec > $origquantityrec ) { NewOrderItem($itemnumber, $new_ordernumber); } } - } update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );