[Koha-patches] [PATCH] (bug #3356) fix search in order receive

Nahuel ANGELINETTI nahuel.angelinetti at biblibre.com
Wed Jun 24 14:56:29 CEST 2009


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 @@
 <div id="acqui_receive_search">
     <h2>Search orders to add to this shipment</h2>
     <form action="/cgi-bin/koha/acqui/orderreceive.pl">
+    	
         <input type="hidden" name="supplierid" value="<!-- TMPL_VAR NAME="supplierid" -->" />
         <input type="hidden" name="gst" value="<!-- TMPL_VAR NAME="gst" -->" />
         <input type="hidden" name="freight" value="<!-- TMPL_VAR NAME="freight" -->" />
         <input type="hidden" name="invoice" value="<!-- TMPL_VAR NAME="invoice" -->" />
+        <input type="hidden" name="datereceived" value="<!-- TMPL_VAR ESCAPE="URL" NAME="invoicedatereceived" -->" />
+        <input type="hidden" name="is_search" value="1" />
         <p><label for="receive">Search ISBN or Title:</label> <input type="text" size="25" id="receive" name="receive" /></p>
     </form>
     <table> <caption>or select a pending orders</caption>
-- 
1.6.0.4




More information about the Koha-patches mailing list