fix for 2181: Late Items in Red
[koha_fer] / circ / pendingreserves.pl
index b9fa6d9..135cf07 100755 (executable)
@@ -87,30 +87,36 @@ if (!defined($enddate) or $enddate eq "") {
 my $dbh    = C4::Context->dbh;
 my ($sqlorderby, $sqldatewhere) = ("","");
 $debug and warn format_date_in_iso($startdate) . "\n" . format_date_in_iso($enddate);
-$sqldatewhere .= " AND reservedate >= " . $dbh->quote(format_date_in_iso($startdate))  if ($startdate) ;
-$sqldatewhere .= " AND reservedate <= " . $dbh->quote(format_date_in_iso($enddate))  if ($enddate) ;
-
+my @query_params = ();
+if ($startdate) {
+    $sqldatewhere .= " AND reservedate >= ?";
+    push @query_params, format_date_in_iso($startdate);
+}
+if ($enddate) {
+    $sqldatewhere .= " AND reservedate <= ?";
+    push @query_params, format_date_in_iso($enddate);
+}
 
 if ($order eq "biblio") {
-       $sqlorderby = " order by biblio.title ";
+       $sqlorderby = " ORDER BY biblio.title ";
 } elsif ($order eq "itype") {
-       $sqlorderby = " order by l_itype, location, l_itemcallnumber ";
+       $sqlorderby = " ORDER BY l_itype, location, l_itemcallnumber ";
 } elsif ($order eq "location") {
-       $sqlorderby = " order by location, l_itemcallnumber, holdingbranch ";
+       $sqlorderby = " ORDER BY location, l_itemcallnumber, holdingbranch ";
 } elsif ($order eq "date") {
-    $sqlorderby = " order by l_reservedate, location, l_itemcallnumber ";
+    $sqlorderby = " ORDER BY l_reservedate, location, l_itemcallnumber ";
 } elsif ($order eq "library") {
-    $sqlorderby = " order by holdingbranch, l_itemcallnumber, location ";
+    $sqlorderby = " ORDER BY holdingbranch, l_itemcallnumber, location ";
 } elsif ($order eq "call") {
-    $sqlorderby = " order by l_itemcallnumber, holdingbranch, location ";    
+    $sqlorderby = " ORDER BY l_itemcallnumber, holdingbranch, location ";    
 } else {
-       $sqlorderby = " order by biblio.title ";
+       $sqlorderby = " ORDER BY biblio.title ";
 }
 my $strsth =
 "SELECT min(reservedate) as l_reservedate,
         reserves.borrowernumber as borrowernumber,
         GROUP_CONCAT(DISTINCT items.holdingbranch 
-                       ORDER BY items.itemnumber SEPARATOR '<br>') l_holdingbranch,
+                       ORDER BY items.itemnumber SEPARATOR '<br/>') l_holdingbranch,
         reserves.biblionumber,
         reserves.branchcode,
         GROUP_CONCAT(DISTINCT reserves.branchcode 
@@ -118,11 +124,11 @@ my $strsth =
         items.holdingbranch as branch,
         items.itemcallnumber,
         GROUP_CONCAT(DISTINCT items.itype 
-                       ORDER BY items.itemnumber SEPARATOR '<br>') l_itype,
+                       ORDER BY items.itemnumber SEPARATOR '<br/>') l_itype,
         GROUP_CONCAT(DISTINCT items.location 
-                       ORDER BY items.itemnumber SEPARATOR '<br>') l_location,
+                       ORDER BY items.itemnumber SEPARATOR '<br/>') l_location,
         GROUP_CONCAT(DISTINCT items.itemcallnumber 
-                       ORDER BY items.itemnumber SEPARATOR '<br>') l_itemcallnumber,
+                       ORDER BY items.itemnumber SEPARATOR '<br/>') l_itemcallnumber,
         items.itemnumber,
         notes,
         notificationdate,
@@ -143,7 +149,6 @@ reserves.found IS NULL
 AND items.itemnumber NOT IN (SELECT itemnumber FROM branchtransfers where datearrived IS NULL)
 AND items.itemnumber NOT IN (SELECT itemnumber FROM issues)
 AND reserves.priority <> 0 
-AND reserves.itemnumber is NULL
 AND notforloan = 0 AND damaged = 0 AND itemlost = 0 AND wthdrawn = 0
 ";
 # GROUP BY reserves.biblionumber allows only items that are not checked out, else multiples occur when 
@@ -152,16 +157,13 @@ AND notforloan = 0 AND damaged = 0 AND itemlost = 0 AND wthdrawn = 0
 
 if (C4::Context->preference('IndependantBranches')){
        $strsth .= " AND items.holdingbranch=? ";
+    push @query_params, C4::Context->userenv->{'branch'};
 }
 $strsth .= " GROUP BY reserves.biblionumber " . $sqlorderby;
+
 my $sth = $dbh->prepare($strsth);
+$sth->execute(@query_params);
 
-if (C4::Context->preference('IndependantBranches')){
-       $sth->execute(C4::Context->userenv->{'branch'});
-}
-else {
-       $sth->execute();
-}      
 my @reservedata;
 my $previous;
 my $this;
@@ -256,6 +258,7 @@ $template->param(
     reserveloop        => \@reservedata,
     "BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1,
     DHTMLcalendar_dateformat =>  C4::Dates->DHTMLcalendar(),
+       dateformat    => C4::Context->preference("dateformat"),
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;