From 0126eb3fb5cf68adade91f78c78cc3aff3a4597f Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 15 Oct 2012 16:24:33 +0200 Subject: [PATCH] Bug 8240: Remove dead code from orderreceive Signed-off-by: Katrin Fischer Patch removes a lot of code from acquisitions. I tested 2 complete acquisition workflows from ordering the item to receiving it, with AcqCreateItem set to 'on order' and to 'on receive'. Both worked without any visible changes after applying the patch. Signed-off-by: Kyle M Hall Signed-off-by: Marcel de Rooy Signed-off-by: Jared Camins-Esakov --- acqui/orderreceive.pl | 253 ++++++++---------- .../prog/en/modules/acqui/orderreceive.tt | 23 +- 2 files changed, 117 insertions(+), 159 deletions(-) diff --git a/acqui/orderreceive.pl b/acqui/orderreceive.pl index 17c2d5ea73..f25b5a923a 100755 --- a/acqui/orderreceive.pl +++ b/acqui/orderreceive.pl @@ -38,8 +38,6 @@ It permit to write a new order as 'received'. to know on what supplier this script has to display receive order. -=item receive - =item invoiceid the id of this invoice. @@ -88,12 +86,12 @@ my $booksellerid = $invoice->{booksellerid}; my $freight = $invoice->{shipmentcost}; my $datereceived = $invoice->{shipmentdate}; my $ordernumber = $input->param('ordernumber'); -my $search = $input->param('receive'); $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new(); my $bookseller = GetBookSellerFromId($booksellerid); -my $results = SearchOrder($ordernumber,$search); +my $results; +$results = SearchOrder($ordernumber) if $ordernumber; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { @@ -106,148 +104,129 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); -my $count = scalar @$results; +unless ( $results and @$results) { + output_html_with_http_headers $input, $cookie, $template->output; + exit; +} + # prepare the form for receiving -if ( $count == 1 ) { - my $order = $results->[0]; +my $order = $results->[0]; - # Check if ACQ framework exists - my $acq_fw = GetMarcStructure(1, 'ACQ'); - unless($acq_fw) { - $template->param('NoACQframework' => 1); - } +# Check if ACQ framework exists +my $acq_fw = GetMarcStructure(1, 'ACQ'); +unless($acq_fw) { + $template->param('NoACQframework' => 1); +} - my $AcqCreateItem = C4::Context->preference('AcqCreateItem'); - if ($AcqCreateItem eq 'receiving') { - $template->param( - AcqCreateItemReceiving => 1, - UniqueItemFields => C4::Context->preference('UniqueItemFields'), - ); - } elsif ($AcqCreateItem eq 'ordering') { - my $fw = ($acq_fw) ? 'ACQ' : ''; - my @itemnumbers = GetItemnumbersFromOrder($order->{ordernumber}); - my @items; - foreach (@itemnumbers) { - my $item = GetItem($_); - if($item->{homebranch}) { - $item->{homebranchname} = GetBranchName($item->{homebranch}); - } - if($item->{holdingbranch}) { - $item->{holdingbranchname} = GetBranchName($item->{holdingbranch}); - } - if(my $code = GetAuthValCode("items.notforloan", $fw)) { - $item->{notforloan} = GetKohaAuthorisedValueLib($code, $item->{notforloan}); - } - if(my $code = GetAuthValCode("items.restricted", $fw)) { - $item->{restricted} = GetKohaAuthorisedValueLib($code, $item->{restricted}); - } - if(my $code = GetAuthValCode("items.location", $fw)) { - $item->{location} = GetKohaAuthorisedValueLib($code, $item->{location}); - } - if(my $code = GetAuthValCode("items.ccode", $fw)) { - $item->{collection} = GetKohaAuthorisedValueLib($code, $item->{ccode}); - } - if(my $code = GetAuthValCode("items.materials", $fw)) { - $item->{materials} = GetKohaAuthorisedValueLib($code, $item->{materials}); - } - my $itemtype = getitemtypeinfo($item->{itype}); - $item->{itemtype} = $itemtype->{description}; - push @items, $item; +my $AcqCreateItem = C4::Context->preference('AcqCreateItem'); +if ($AcqCreateItem eq 'receiving') { + $template->param( + AcqCreateItemReceiving => 1, + UniqueItemFields => C4::Context->preference('UniqueItemFields'), + ); +} elsif ($AcqCreateItem eq 'ordering') { + my $fw = ($acq_fw) ? 'ACQ' : ''; + my @itemnumbers = GetItemnumbersFromOrder($order->{ordernumber}); + my @items; + foreach (@itemnumbers) { + my $item = GetItem($_); + if($item->{homebranch}) { + $item->{homebranchname} = GetBranchName($item->{homebranch}); } - $template->param(items => \@items); - } - - $order->{quantityreceived} = '' if $order->{quantityreceived} == 0; - $order->{unitprice} = '' if $order->{unitprice} == 0; - - my $rrp; - my $ecost; - my $unitprice; - if ( $bookseller->{listincgst} ) { - if ( $bookseller->{invoiceincgst} ) { - $rrp = $order->{rrp}; - $ecost = $order->{ecost}; - $unitprice = $order->{unitprice}; - } else { - $rrp = $order->{rrp} / ( 1 + $order->{gstrate} ); - $ecost = $order->{ecost} / ( 1 + $order->{gstrate} ); - $unitprice = $order->{unitprice} / ( 1 + $order->{gstrate} ); + if($item->{holdingbranch}) { + $item->{holdingbranchname} = GetBranchName($item->{holdingbranch}); } - } else { - if ( $bookseller->{invoiceincgst} ) { - $rrp = $order->{rrp} * ( 1 + $order->{gstrate} ); - $ecost = $order->{ecost} * ( 1 + $order->{gstrate} ); - $unitprice = $order->{unitprice} * ( 1 + $order->{gstrate} ); - } else { - $rrp = $order->{rrp}; - $ecost = $order->{ecost}; - $unitprice = $order->{unitprice}; + if(my $code = GetAuthValCode("items.notforloan", $fw)) { + $item->{notforloan} = GetKohaAuthorisedValueLib($code, $item->{notforloan}); } - } - - my $suggestion = GetSuggestionInfoFromBiblionumber($order->{biblionumber}); - - my $authorisedby = $order->{authorisedby}; - my $member = GetMember( borrowernumber => $authorisedby ); - - my $budget = GetBudget( $order->{budget_id} ); - - $template->param( - AcqCreateItem => $AcqCreateItem, - count => 1, - biblionumber => $order->{'biblionumber'}, - ordernumber => $order->{'ordernumber'}, - biblioitemnumber => $order->{'biblioitemnumber'}, - booksellerid => $order->{'booksellerid'}, - freight => $freight, - gstrate => $order->{gstrate} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0, - name => $bookseller->{'name'}, - date => format_date($order->{entrydate}), - title => $order->{'title'}, - author => $order->{'author'}, - copyrightdate => $order->{'copyrightdate'}, - isbn => $order->{'isbn'}, - seriestitle => $order->{'seriestitle'}, - bookfund => $budget->{budget_name}, - quantity => $order->{'quantity'}, - quantityreceivedplus1 => $order->{'quantityreceived'} + 1, - quantityreceived => $order->{'quantityreceived'}, - rrp => sprintf( "%.2f", $rrp ), - ecost => sprintf( "%.2f", $ecost ), - unitprice => sprintf( "%.2f", $unitprice), - memberfirstname => $member->{firstname} || "", - membersurname => $member->{surname} || "", - invoiceid => $invoice->{invoiceid}, - invoice => $invoice->{invoicenumber}, - datereceived => $datereceived->output(), - datereceived_iso => $datereceived->output('iso'), - notes => $order->{notes}, - suggestionid => $suggestion->{suggestionid}, - surnamesuggestedby => $suggestion->{surnamesuggestedby}, - firstnamesuggestedby => $suggestion->{firstnamesuggestedby}, - ); + if(my $code = GetAuthValCode("items.restricted", $fw)) { + $item->{restricted} = GetKohaAuthorisedValueLib($code, $item->{restricted}); + } + if(my $code = GetAuthValCode("items.location", $fw)) { + $item->{location} = GetKohaAuthorisedValueLib($code, $item->{location}); + } + if(my $code = GetAuthValCode("items.ccode", $fw)) { + $item->{collection} = GetKohaAuthorisedValueLib($code, $item->{ccode}); + } + if(my $code = GetAuthValCode("items.materials", $fw)) { + $item->{materials} = GetKohaAuthorisedValueLib($code, $item->{materials}); + } + my $itemtype = getitemtypeinfo($item->{itype}); + $item->{itemtype} = $itemtype->{description}; + push @items, $item; + } + $template->param(items => \@items); } -else { - my @loop; - for ( my $i = 0 ; $i < $count ; $i++ ) { - my %line = %{ @$results[$i] }; - - $line{invoice} = $invoice->{invoicenumber}; - $line{datereceived} = $datereceived->output(); - $line{freight} = $freight; - $line{gstrate} = @$results[$i]->{'gstrate'} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0; - $line{title} = @$results[$i]->{'title'}; - $line{author} = @$results[$i]->{'author'}; - $line{booksellerid} = $booksellerid; - push @loop, \%line; + +$order->{quantityreceived} = '' if $order->{quantityreceived} == 0; +$order->{unitprice} = '' if $order->{unitprice} == 0; + +my $rrp; +my $ecost; +my $unitprice; +if ( $bookseller->{listincgst} ) { + if ( $bookseller->{invoiceincgst} ) { + $rrp = $order->{rrp}; + $ecost = $order->{ecost}; + $unitprice = $order->{unitprice}; + } else { + $rrp = $order->{rrp} / ( 1 + $order->{gstrate} ); + $ecost = $order->{ecost} / ( 1 + $order->{gstrate} ); + $unitprice = $order->{unitprice} / ( 1 + $order->{gstrate} ); + } +} else { + if ( $bookseller->{invoiceincgst} ) { + $rrp = $order->{rrp} * ( 1 + $order->{gstrate} ); + $ecost = $order->{ecost} * ( 1 + $order->{gstrate} ); + $unitprice = $order->{unitprice} * ( 1 + $order->{gstrate} ); + } else { + $rrp = $order->{rrp}; + $ecost = $order->{ecost}; + $unitprice = $order->{unitprice}; } + } + +my $suggestion = GetSuggestionInfoFromBiblionumber($order->{biblionumber}); + +my $authorisedby = $order->{authorisedby}; +my $member = GetMember( borrowernumber => $authorisedby ); + +my $budget = GetBudget( $order->{budget_id} ); + +$template->param( + AcqCreateItem => $AcqCreateItem, + count => 1, + biblionumber => $order->{'biblionumber'}, + ordernumber => $order->{'ordernumber'}, + biblioitemnumber => $order->{'biblioitemnumber'}, + booksellerid => $order->{'booksellerid'}, + freight => $freight, + name => $bookseller->{'name'}, + date => format_date($order->{entrydate}), + title => $order->{'title'}, + author => $order->{'author'}, + copyrightdate => $order->{'copyrightdate'}, + isbn => $order->{'isbn'}, + seriestitle => $order->{'seriestitle'}, + bookfund => $budget->{budget_name}, + quantity => $order->{'quantity'}, + quantityreceivedplus1 => $order->{'quantityreceived'} + 1, + quantityreceived => $order->{'quantityreceived'}, + rrp => sprintf( "%.2f", $rrp ), + ecost => sprintf( "%.2f", $ecost ), + unitprice => sprintf( "%.2f", $unitprice), + memberfirstname => $member->{firstname} || "", + membersurname => $member->{surname} || "", + invoiceid => $invoice->{invoiceid}, + invoice => $invoice->{invoicenumber}, + datereceived => $datereceived->output(), + datereceived_iso => $datereceived->output('iso'), + notes => $order->{notes}, + suggestionid => $suggestion->{suggestionid}, + surnamesuggestedby => $suggestion->{surnamesuggestedby}, + firstnamesuggestedby => $suggestion->{firstnamesuggestedby}, +); - $template->param( - loop => \@loop, - booksellerid => $booksellerid, - invoiceid => $invoice->{invoiceid}, - ); -} my $op = $input->param('op'); if ($op and $op eq 'edit'){ $template->param(edit => 1); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt index 07677db7a0..da9aefea7b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt @@ -327,28 +327,7 @@ Cancel [% ELSE %] -
- - - - - - - - - - [% FOREACH loo IN loop %] - - - - - - - - - [% END %] -
BasketISBNTitleAuthorQtyReceived
[% loo.basketno %][% loo.isbn %][% loo.title |html %][% loo.author %][% loo.quantity %][% loo.quantityreceived %]
-
+ This ordernumber does not exist. [% END %] -- 2.39.5