(bug #3235) improve searchorder
authorNahuel ANGELINETTI <nahuel.angelinetti@biblibre.com>
Tue, 19 May 2009 11:54:50 +0000 (13:54 +0200)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Wed, 16 Sep 2009 21:18:56 +0000 (23:18 +0200)
If an supplierid is provided with a ordernumber, the search should be able to return everytime a record. This patch do the job.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
C4/Acquisition.pm

index 9888dc1..5fc05ce 100644 (file)
@@ -685,7 +685,17 @@ 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) {  
+    if($id and $search){
+        @searchterms = ($id, $search);
+        $query =
+          "SELECT *,biblio.title
+             FROM aqorders
+             LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
+             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 
            FROM aqorders 
@@ -722,7 +732,7 @@ sub SearchOrder {
     }
     
     if( $biblionumber and $biblionumber ne "" ){
-        $query .= "AND aqorders.biblionumber = ? ";
+        $query .= "AND biblio.biblionumber = ? ";
         push (@searchterms, $biblionumber);
     }