Merge remote-tracking branch 'origin/new/bug_8062'
[koha.git] / suggestion / suggestion.pl
index 7f197d8..99f38eb 100755 (executable)
@@ -92,7 +92,7 @@ delete $$suggestion_ref{$_} foreach qw( suggestedbyme op displayby tabcode edit_
 foreach (keys %$suggestion_ref){
     delete $$suggestion_ref{$_} if (!$$suggestion_ref{$_} && ($op eq 'else' || $op eq 'change'));
 }
-my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+my ( $template, $borrowernumber, $cookie, $userflags ) = get_template_and_user(
         {
             template_name   => "suggestion/suggestion.tmpl",
             query           => $input,
@@ -205,21 +205,17 @@ if ($op=~/else/) {
 
         my $suggestions = &SearchSuggestion($suggestion_ref);
         foreach my $suggestion (@$suggestions) {
-            $suggestion->{budget_name} = GetBudget( $suggestion->{budgetid} )->{budget_name} if $suggestion->{budgetid};
-            foreach my $date qw(suggesteddate manageddate accepteddate) {
-                if ($suggestion->{$date} and $suggestion->{$date} ne "0000-00-00" && $suggestion->{$date} ne "" ) {
+            if ($suggestion->{budgetid}){
+                my $bud = GetBudget( $suggestion->{budgetid} );
+                $suggestion->{budget_name} = $bud->{budget_name} if $bud;
+            }
+            foreach my $date (qw(suggesteddate manageddate accepteddate)) {
+                if ($suggestion->{$date} and $suggestion->{$date} ne "0000-00-00") {
                     $suggestion->{$date} = format_date( $suggestion->{$date} );
                 } else {
                     $suggestion->{$date} = "";
                 }
             }
-            foreach my $date ( qw(suggesteddate manageddate accepteddate) ){
-                if ($suggestion->{$date} ne "0000-00-00" && $suggestion->{$date} ne "" ){
-                $suggestion->{$date}=format_date($suggestion->{$date}) ;
-                } else {
-                $suggestion->{$date}="" ;
-                }             
-            }    
         }
         push @allsuggestions,{
                             "suggestiontype"=>$criteriumvalue||"suggest",
@@ -317,12 +313,19 @@ if ($branchfilter) {
     $budgets = GetBudgets(undef);
 }
 
+my @budgets_loop;
 foreach my $budget ( @{$budgets} ) {
-## Please see file perltidy.ERR
-    $budget->{'selected'}=1 if ($$suggestion_ref{'budgetid'} && $budget->{'budget_id'} eq $$suggestion_ref{'budgetid'})
-};
+    next unless (CanUserUseBudget($borrowernumber, $budget, $userflags));
+
+    ## Please see file perltidy.ERR
+    $budget->{'selected'} = 1
+        if ($$suggestion_ref{'budgetid'}
+        && $budget->{'budget_id'} eq $$suggestion_ref{'budgetid'});
+
+    push @budgets_loop, $budget;
+}
 
-$template->param( budgetsloop => $budgets);
+$template->param( budgetsloop => \@budgets_loop);
 $template->param( "statusselected_$$suggestion_ref{'STATUS'}" =>1) if ($$suggestion_ref{'STATUS'});
 
 # get currencies and rates