Adding XSLTreultsFilename and XSLTDetailFilename
[koha.git] / C4 / Acquisition.pm
index b3cd99c..88f0c6d 100644 (file)
@@ -207,12 +207,13 @@ sub GetPendingOrders {
         LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
         WHERE booksellerid=?
             AND datecancellationprinted IS NULL
-            AND (to_days(now())-to_days(closedate) < 180 OR closedate IS NULL)
     ";
     if($closed){
         $strsth .= "
         AND (quantity > quantityreceived OR quantityreceived is NULL) 
         AND closedate IS NOT NULL ";
+    }else{
+        $strsth .= "AND (to_days(now())-to_days(closedate) < 180 OR closedate IS NULL)";
     }
     ## FIXME  Why 180 days ???
     my @query_params = ( $supplierid );
@@ -678,7 +679,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 ) = @_;
     my $dbh = C4::Context->dbh;
     my @data = split( ' ', $search );
     my @searchterms;
@@ -689,17 +690,20 @@ 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){
-        @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) {  
+    if(not $id and $biblionumber and $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 ((datecancellationprinted is NULL)
+            OR (datecancellationprinted = '0000-00-00'))
+            AND aqorders.biblionumber = ?
+            AND aqorders.ordernumber = ? 
+            ";
+            @searchterms = ($biblionumber, $search);
+    }
+    elsif($id) {  
         $query =
           "SELECT *,biblio.title 
            FROM aqorders 
@@ -715,7 +719,6 @@ sub SearchOrder {
                 map { "(biblio.title like ? or biblio.title like ?)" } @data )
           )
           . ") OR biblioitems.isbn=? OR (aqorders.ordernumber=? AND aqorders.biblionumber=?)) ";
-
     }
     else {
         $query =
@@ -735,11 +738,6 @@ 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);
@@ -1144,6 +1142,7 @@ sub GetHistory {
         
         if ( defined $title ) {
             $query .= " AND biblio.title LIKE ? ";
+            $title =~ s/\s+/%/g;
             push @query_params, "%$title%";
         }