fix references to $session in circ/circulation.pl
[koha_fer] / circ / waitingreserves.pl
index 5c85937..2ac58c3 100755 (executable)
@@ -1,6 +1,5 @@
 #!/usr/bin/perl
 
-# $Id$
 
 # Copyright 2000-2002 Katipo Communications
 #
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
+use CGI;
 use C4::Context;
 use C4::Output;
-use CGI;
 use C4::Branch; # GetBranchName
 use C4::Auth;
-use C4::Date;
+use C4::Dates qw/format_date/;
 use C4::Circulation;
 use C4::Members;
 use C4::Biblio;
+use C4::Items;
 
 use Date::Calc qw(
   Today
@@ -37,7 +37,6 @@ use Date::Calc qw(
 );
 use C4::Reserves;
 use C4::Koha;
-use C4::Interface::CGI::Output;
 
 my $input = new CGI;
 
@@ -56,25 +55,19 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { circulate => 1 },
+        flagsrequired   => { circulate => "circulate_remaining_permissions" },
         debug           => 1,
     }
 );
 
 my $default = C4::Context->userenv->{'branch'};
 
-my @datearr    = localtime( time() );
-my $todaysdate =
-    ( 1900 + $datearr[5] ) . '-'
-  . sprintf( "%0.2d", ( $datearr[4] + 1 ) ) . '-'
-  . sprintf( "%0.2d", $datearr[3] );
-
 # if we have a return from the form we launch the subroutine CancelReserve
 if ($item) {
     my $messages;
     my $nextreservinfo;
     my $waiting;
-    ( $messages, $nextreservinfo ) = GlobalCancel( $item, $borrowernumber );
+    ( $messages, $nextreservinfo ) = ModReserveCancelAll( $item, $borrowernumber );
 
     #          if we have a result
     if ($nextreservinfo) {
@@ -110,16 +103,26 @@ if ($item) {
 
 my @reservloop;
 
-my @getreserves = GetReservesForBranch($default);
-
+my @getreserves;
+if (C4::Context->preference('IndependantBranches')){
+       # get reserves for the branch we are logged into
+       @getreserves = GetReservesForBranch($default);
+}
+else {
+       # get all reserves waiting
+       @getreserves = GetReservesForBranch();
+}      
+       
 foreach my $num (@getreserves) {
     my %getreserv;
     my $gettitle     = GetBiblioFromItemNumber( $num->{'itemnumber'} );
+    # fix up item type for display
+    $gettitle->{'itemtype'} = C4::Context->preference('item-level_itypes') ? $gettitle->{'itype'} : $gettitle->{'itemtype'};
     my $getborrower  = GetMemberDetails( $num->{'borrowernumber'} );
     my $itemtypeinfo = getitemtypeinfo( $gettitle->{'itemtype'} );
     $getreserv{'waitingdate'} = format_date( $num->{'waitingdate'} );
 
-    next unless $num->{'waitingdate'} ne '0000-00-00';
+    next unless ($num->{'waitingdate'} && $num->{'waitingdate'} ne '0000-00-00');
     my ( $waiting_year, $waiting_month, $waiting_day ) = split /-/,
       $num->{'waitingdate'};
     ( $waiting_year, $waiting_month, $waiting_day ) =
@@ -155,7 +158,8 @@ foreach my $num (@getreserves) {
 
 $template->param(
     reserveloop => \@reservloop,
-    show_date   => format_date($todaysdate),
+    show_date   => format_date(C4::Dates->today('iso')),
+       dateformat   => C4::Context->preference("dateformat"),
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;