fix references to $session in circ/circulation.pl
[koha_fer] / circ / waitingreserves.pl
index f6b101a..2ac58c3 100755 (executable)
@@ -24,10 +24,11 @@ use C4::Context;
 use C4::Output;
 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
@@ -54,19 +55,13 @@ 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;
@@ -110,21 +105,24 @@ my @reservloop;
 
 my @getreserves;
 if (C4::Context->preference('IndependantBranches')){
+       # get reserves for the branch we are logged into
        @getreserves = GetReservesForBranch($default);
 }
 else {
-       @getreserves = GetReservesForBranch($default);
-       # need to have a routine to get all waiting reserves
+       # 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 ) =
@@ -160,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;