Polish language updates
[koha.git] / circ / pendingreserves.pl
index 7400638..7fc02a1 100755 (executable)
@@ -29,14 +29,9 @@ use C4::Output;
 use CGI;
 use C4::Auth;
 use C4::Dates qw/format_date format_date_in_iso/;
+use C4::Debug;
 use Date::Calc qw/Today Add_Delta_YMD/;
 
-use vars qw($debug);
-
-BEGIN {
-    $debug = $ENV{DEBUG} || 0;
-}
-
 my $input = new CGI;
 my $order = $input->param('order');
 my $startdate=$input->param('from');
@@ -50,7 +45,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { circulate => 1 },
+        flagsrequired   => { circulate => "circulate_remaining_permissions" },
         debug           => 1,
     }
 );
@@ -71,9 +66,9 @@ my $author;
 my ( $year, $month, $day ) = Today();
 my $todaysdate     = sprintf("%-04.4d-%-02.2d-%02.2d", $year, $month, $day);
 my $yesterdaysdate = sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YMD($year, $month, $day,   0, 0, -1));
-# Find 10 years ago for the default shelf pull start and end dates
-#    A default of the prior day's holds is a reasonable way to pull holds 
-my $pastdate       = sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YMD($year, $month, $day, -10, 0,  0));
+#changed from delivered range of 10 years-yesterday to 2 days ago-today
+# Find two days ago for the default shelf pull start and end dates
+my $pastdate       = sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YMD($year, $month, $day, 0, 0, -2));
 
 #              Predefine the start and end dates if they are not already defined
 $startdate =~ s/^\s+//;
@@ -85,37 +80,43 @@ if (!defined($startdate) or $startdate eq "") {
        $startdate = format_date($pastdate);
 }
 if (!defined($enddate) or $enddate eq "") {
-       $enddate = format_date($yesterdaysdate);
+       $enddate = format_date($todaysdate);
 }
 
 
 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 
@@ -123,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,
@@ -148,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 
@@ -157,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;
@@ -261,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;