From 8fcabb25d29f238afb1f8ac92fd8fe80663af878 Mon Sep 17 00:00:00 2001 From: Nahuel ANGELINETTI Date: Wed, 24 Jun 2009 14:55:26 +0200 Subject: [PATCH] (bug #3356) fix search in order receive Content-Type: text/plain; charset="utf-8" This patch add an arg to C4::Acquisitions::SearchOrder, and check if this function returned something or not to don't trap in a perl error. --- C4/Acquisition.pm | 6 ++-- acqui/orderreceive.pl | 31 ++++++++++++------- .../prog/en/modules/acqui/parcel.tmpl | 3 ++ 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 4d8af94..f334edc 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -677,7 +677,7 @@ C<@results> is an array of references-to-hash with the following keys: =cut sub SearchOrder { - my ( $search, $id, $biblionumber, $catview ) = @_; + my ( $search, $id, $biblionumber, $catview, $is_search ) = @_; my $dbh = C4::Context->dbh; my @data = split( ' ', $search ); my @searchterms; @@ -688,7 +688,7 @@ sub SearchOrder { push( @searchterms, $search, $search, $biblionumber ); my $query; ### FIXME THIS CAN raise a problem if more THAN ONE biblioitem is linked to one biblio - if($id and $search){ + if($id and $search and not $is_search){ @searchterms = ($id, $search); $query = "SELECT *,biblio.title @@ -697,7 +697,7 @@ sub SearchOrder { LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno WHERE aqbasket.booksellerid = ? AND aqorders.ordernumber = ? - " + "; }elsif ($id) { $query = "SELECT *,biblio.title diff --git a/acqui/orderreceive.pl b/acqui/orderreceive.pl index c13eda3..6213762 100755 --- a/acqui/orderreceive.pl +++ b/acqui/orderreceive.pl @@ -81,7 +81,7 @@ my $datereceived = C4::Dates->new($input->param('datereceived'),'iso') || C4::Da my $catview = $input->param('catview'); my $gst = $input->param('gst'); -my @results = SearchOrder( $search, $supplierid, $biblionumber, $catview ); +my @results = SearchOrder( $search, $supplierid, $biblionumber, $catview, $input->param('is_search') ); my $count = scalar @results; my $order = GetOrder($search); @@ -188,15 +188,22 @@ else { supplierid => $supplierid, ); } - -$template->param( - date => format_date($date), - datereceived => $datereceived->output(), - datereceived_iso => $datereceived->output('iso'), - invoice => $invoice, - name => $bookseller->{'name'}, - freight => $freight, - gst => $gst, -); - +if($bookseller){ + $template->param( + date => format_date($date), + datereceived => $datereceived->output(), + datereceived_iso => $datereceived->output('iso'), + invoice => $invoice, + name => $bookseller->{'name'}, + freight => $freight, + gst => $gst, + ); +}else{ + print $input->redirect("parcel.pl?supplierid=$supplierid" + ."&datereceived=".$datereceived->output("iso") + ."&freight=$freight" + ."&gst=$gst" + ."&invoice=$invoice"); + exit; +} output_html_with_http_headers $input, $cookie, $template->output; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tmpl index 8c14214..18bea9a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tmpl @@ -123,10 +123,13 @@