bug Fixing : 3640
[koha.git] / C4 / Acquisition.pm
index b846ca5..d8a6c95 100644 (file)
@@ -62,12 +62,8 @@ orders, basket and parcels.
 
 =head1 FUNCTIONS
 
-=over 2
-
 =head2 FUNCTIONS ABOUT BASKETS
 
-=over 2
-
 =head3 GetBasket
 
 =over 4
@@ -81,8 +77,6 @@ informations for a given basket returned as a hashref.
 
 =back
 
-=back
-
 =cut
 
 sub GetBasket {
@@ -162,12 +156,8 @@ sub CloseBasket {
 
 #------------------------------------------------------------#
 
-=back
-
 =head2 FUNCTIONS ABOUT ORDERS
 
-=over 2
-
 =cut
 
 #------------------------------------------------------------#
@@ -266,7 +256,7 @@ sub GetOrders {
     my $dbh   = C4::Context->dbh;
     my $query  ="
          SELECT  aqorderbreakdown.*,
-                biblio.*,biblioitems.publishercode,
+                biblio.*,biblioitems.*,
                 aqorders.*,
                 aqbookfund.bookfundname,
                 biblio.title
@@ -300,10 +290,14 @@ sub GetOrders {
 
 $ordernumber = &GetOrderNumber($biblioitemnumber, $biblionumber);
 
+=back
+
 Looks up the ordernumber with the given biblionumber and biblioitemnumber.
 
 Returns the number of this order.
 
+=over 4
+
 =item C<$ordernumber> is the order number.
 
 =back
@@ -691,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 
@@ -726,6 +730,12 @@ sub SearchOrder {
           )
           . ") or biblioitems.isbn=? OR (aqorders.ordernumber=? AND aqorders.biblionumber=?)) ";
     }
+    
+    if ( $biblionumber ) {
+        $query .= "AND biblio.biblionumber = ? ";
+        push (@searchterms, $biblionumber);
+    }
+    
     $query .= " GROUP BY aqorders.ordernumber";
     ### $query
     my $sth = $dbh->prepare($query);
@@ -791,13 +801,8 @@ sub DelOrder {
     $sth->finish;
 }
 
-
-=back
-
 =head2 FUNCTIONS ABOUT PARCELS
 
-=over 2
-
 =cut
 
 #------------------------------------------------------------#
@@ -881,8 +886,12 @@ sub GetParcel {
 $results = &GetParcels($bookseller, $order, $code, $datefrom, $dateto);
 get a lists of parcels.
 
+=back
+
 * Input arg :
 
+=over 4
+
 =item $bookseller
 is the bookseller this function has to get parcels.
 
@@ -1208,8 +1217,6 @@ sub GetRecentAcqui {
 1;
 __END__
 
-=back
-
 =head1 AUTHOR
 
 Koha Developement team <info@koha.org>