#!/usr/bin/perl
-# $Id$
# Copyright 2000-2002 Katipo Communications
#
use C4::Output;
use CGI;
use C4::Auth;
-use C4::Date;
+use C4::Dates qw/format_date format_date_in_iso/;
+
+use vars qw($debug);
+
+BEGIN {
+ $debug = $ENV{DEBUG} || 0;
+}
my $input = new CGI;
my $order = $input->param('order');
my $dbh = C4::Context->dbh;
my ($sqlorderby, $sqldatewhere) = ("","");
-
-$sqldatewhere .= " && reservedate >= " . $dbh->quote($startdate) if ($startdate) ;
-$sqldatewhere .= " && reservedate <= " . $dbh->quote($enddate) if ($enddate) ;
+$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) ;
if ($order eq "borrower") {
$sqlorderby = " order by borrower, reservedate";
biblio.title,
biblio.author
FROM reserves
- LEFT JOIN items ON items.biblionumber=reserves.biblionumber,
- borrowers,biblio
+ LEFT JOIN items ON items.biblionumber=reserves.biblionumber
+ LEFT JOIN borrowers ON reserves.borrowernumber=borrowers.borrowernumber
+ LEFT JOIN biblio ON reserves.biblionumber=biblio.biblionumber
WHERE isnull(cancellationdate)
- && reserves.borrowernumber=borrowers.borrowernumber
- && reserves.biblionumber=biblio.biblionumber
- && reserves.found is NULL
- && items.holdingbranch=?
- ";
+ $sqldatewhere
+ AND reserves.found is NULL
+ AND reserves.itemnumber is NULL";
+if (C4::Context->preference('IndependantBranches')){
+ $strsth .= " AND items.holdingbranch=? ";
+}
$strsth .= $sqlorderby;
-
my $sth = $dbh->prepare($strsth);
-$sth->execute(C4::Context->userenv->{'branch'});
-
+if (C4::Context->preference('IndependantBranches')){
+ $sth->execute(C4::Context->userenv->{'branch'});
+}
+else {
+ $sth->execute();
+}
my @reservedata;
my $previous;
my $this;
}
$sth->finish;
+$strsth=~ s/AND reserves.itemnumber is NULL/AND reserves.itemnumber is NOT NULL/;
+$strsth=~ s/LEFT JOIN items ON items.biblionumber=reserves.biblionumber/LEFT JOIN items ON items.biblionumber=reserves.itemnumber/;
+$sth = $dbh->prepare($strsth);
+if (C4::Context->preference('IndependantBranches')){
+ $sth->execute(C4::Context->userenv->{'branch'});
+}
+else {
+ $sth->execute();
+}
+while ( my $data = $sth->fetchrow_hashref ) {
+ $this=$data->{biblionumber}.":".$data->{borrowernumber};
+ my @itemlist;
+ push(
+ @reservedata,
+ {
+ reservedate => $previous eq $this?"":format_date( $data->{reservedate} ),
+ priority => $previous eq $this?"":$data->{priority},
+ name => $previous eq $this?"":$data->{borrower},
+ title => $previous eq $this?"":$data->{title},
+ author => $previous eq $this?"":$data->{author},
+ borrowernumber => $previous eq $this?"":$data->{borrowernumber},
+ itemnum => $previous eq $this?"":$data->{itemnumber},
+ phone => $previous eq $this?"":$data->{phone},
+ email => $previous eq $this?"":$data->{email},
+ biblionumber => $previous eq $this?"":$data->{biblionumber},
+ statusw => ( $data->{found} eq "w" ),
+ statusf => ( $data->{found} eq "f" ),
+ holdingbranch => $data->{holdingbranch},
+ branch => $previous eq $this?"":$data->{branch},
+ itemcallnumber => $data->{itemcallnumber},
+ notes => $previous eq $this?"":$data->{notes},
+ notificationdate => $previous eq $this?"":$data->{notificationdate},
+ reminderdate => $previous eq $this?"":$data->{reminderdate},
+ thisitemonly => 1,
+ }
+ );
+ $previous=$this;
+}
+
+$sth->finish;
$template->param(
- todaysdate => format_date($todaysdate),
- from => $startdate,
- to => $enddate,
- reserveloop => \@reservedata,
- intranetcolorstylesheet =>
- C4::Context->preference("intranetcolorstylesheet"),
- intranetstylesheet => C4::Context->preference("intranetstylesheet"),
- IntranetNav => C4::Context->preference("IntranetNav"),
+ todaysdate => format_date($todaysdate),
+ from => $startdate,
+ to => $enddate,
+ reserveloop => \@reservedata,
"BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1,
+ DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;