Updates to INSTALL.debian documentation for 3.2.
[koha.git] / suggestion / suggestion.pl
index 8f69148..57a1ba7 100755 (executable)
@@ -16,6 +16,7 @@
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
+#use warnings; FIXME - Bug 2505
 require Exporter;
 use CGI;
 use C4::Auth;    # get_template_and_user
@@ -50,15 +51,19 @@ sub Init{
 
 sub GetCriteriumDesc{
     my ($criteriumvalue,$displayby)=@_;
-    return ($criteriumvalue eq 'ASKED'?"pending":lc $criteriumvalue) if ($displayby =~/status/i);
+    return ($criteriumvalue eq 'ASKED'?"Pending":ucfirst(lc( $criteriumvalue))) if ($displayby =~/status/i);
     return (GetBranchName($criteriumvalue)) if ($displayby =~/branchcode/);
     return (GetSupportName($criteriumvalue)) if ($displayby =~/itemtype/);
     if ($displayby =~/managedby/||$displayby =~/acceptedby/){
         my $borr=C4::Members::GetMember(borrowernumber=>$criteriumvalue);
         return "" unless $borr;
-#              warn '$borr : ',Data::Dumper::Dumper($borr);
-        return $$borr{firstname}.", ".$$borr{surname};
-    }  
+        return $$borr{firstname} . ", " . $$borr{surname};
+    }
+    if ( $displayby =~ /budgetid/) {
+        my $budget = GetBudget($criteriumvalue);
+        return "" unless $budget;
+        return $$budget{budget_name};
+    }
 }
 
 my $input           = CGI->new;
@@ -157,20 +162,22 @@ if ($op=~/else/) {
     $displayby||="STATUS";
     my $criteria_list=GetDistinctValues("suggestions.".$displayby);
     my @allsuggestions;
+    my $reasonsloop = GetAuthorisedValues("SUGGEST");
     foreach my $criteriumvalue (map{$$_{'value'}} @$criteria_list){
         my $definedvalue = defined $$suggestion_ref{$displayby} && $$suggestion_ref{$displayby} ne "";
         
         next if ($definedvalue && $$suggestion_ref{$displayby} ne $criteriumvalue);
         $$suggestion_ref{$displayby}=$criteriumvalue;
-        warn $$suggestion_ref{$displayby}."=$criteriumvalue; $displayby";
+#        warn $$suggestion_ref{$displayby}."=$criteriumvalue; $displayby";
     
         my $suggestions = &SearchSuggestion($suggestion_ref);
-        foreach (@$suggestions){
+        foreach my $suggestion (@$suggestions){
+            $suggestion->{budget_name}=GetBudget($suggestion->{budgetid})->{budget_name} if $suggestion->{budgetid};
             foreach my $date qw(suggesteddate manageddate accepteddate){
-                if ($_->{$date} ne "0000-00-00" && $_->{$date} ne "" ){
-                $_->{$date}=format_date($_->{$date}) ;
+                if ($suggestion->{$date} ne "0000-00-00" && $suggestion->{$date} ne "" ){
+                $suggestion->{$date}=format_date($suggestion->{$date}) ;
                 } else {
-                $_->{$date}="" ;
+                $suggestion->{$date}="" ;
                 }             
             }    
         }
@@ -179,26 +186,31 @@ if ($op=~/else/) {
                             "suggestiontypelabel"=>GetCriteriumDesc($criteriumvalue,$displayby)||"",
                             "suggestionscount"=>scalar(@$suggestions),             
                             'suggestions_loop'=>$suggestions,
+                            'reasonsloop'     => $reasonsloop,
                             };
 
         delete $$suggestion_ref{$displayby} unless $definedvalue;
     }
-    my $reasonsloop = GetAuthorisedValues("SUGGEST");
+
     $template->param(
         "displayby"=> $displayby,
         "notabs"=> $displayby eq "",
         suggestions       => \@allsuggestions,
-        reasonsloop       => $reasonsloop,
     );
 }
 
 foreach my $element qw(managedby suggestedby){
-    $debug || warn $$suggestion_ref{$element};
+#    $debug || warn $$suggestion_ref{$element};
     if ($$suggestion_ref{$element}){
         my $member=GetMember(borrowernumber=>$$suggestion_ref{$element});
-        my $presentation_string=$$member{firstname}." ".$$member{surname}." ".GetBranchName($$member{branchcode})." ".$$member{description}." ".$$member{category_type};
-        $debug || warn $presentation_string;
-        $template->param($element."information"=>$presentation_string);
+        $template->param(
+            $element."_borrowernumber"=>$$member{borrowernumber},
+            $element."_firstname"=>$$member{firstname},
+            $element."_surname"=>$$member{surname},
+            $element."_branchcode"=>$$member{branchcode},
+            $element."_description"=>$$member{description},
+            $element."_category_type"=>$$member{category_type}
+        );
     }
 }
 $template->param(
@@ -251,14 +263,14 @@ $template->param(itemtypeloop=>$supportlist);
 my $searchbudgets={ budget_branchcode=>$branchfilter} if $branchfilter;
 my $budgets = GetBudgets($searchbudgets);
 
-foreach (@$budgets){
-    $_->{'selected'}=1 if ($$suggestion_ref{'budget_id'} && $_{'budget_id'} eq $$suggestion_ref{'budget_id'})
+foreach my $budget (@$budgets){
+    $budget->{'selected'}=1 if ($$suggestion_ref{'budgetid'} && $budget->{'budget_id'} eq $$suggestion_ref{'budgetid'})
 };
 
 $template->param( budgetsloop => $budgets);
 
-my %hashlists; 
-foreach my $field qw(managedby acceptedby suggestedby STATUS){
+my %hashlists;
+foreach my $field qw(managedby acceptedby suggestedby budgetid STATUS) {
     my $values_list;
     $values_list=GetDistinctValues("suggestions.".$field) ;
     my @codes_list = map{
@@ -270,5 +282,5 @@ foreach my $field qw(managedby acceptedby suggestedby STATUS){
     $hashlists{lc($field)."_loop"}=\@codes_list;
 }
 $template->param(%hashlists);
-
+$template->param(DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),);
 output_html_with_http_headers $input, $cookie, $template->output;