X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=suggestion%2Fsuggestion.pl;h=b4f4d37a7ed64f252f1dccc649e28aa973e97a60;hb=fe487576683a804c5d2ee901d62b9f1172cb1454;hp=99f38eb04e18b7f49c8c2cb1e5494e06cc5788af;hpb=374b6f4b9f33a776d04cdaa696b40e8e033dda32;p=koha_fer diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl index 99f38eb04e..b4f4d37a7e 100755 --- a/suggestion/suggestion.pl +++ b/suggestion/suggestion.pl @@ -82,7 +82,6 @@ my $returnsuggestedby = $input->param('returnsuggestedby'); my $returnsuggested = $input->param('returnsuggested'); my $managedby = $input->param('managedby'); my $displayby = $input->param('displayby') || ''; -my $branchfilter = ($displayby ne "branchcode") ? $input->param('branchcode') : ''; my $tabcode = $input->param('tabcode'); # filter informations which are not suggestion related. @@ -190,12 +189,24 @@ if ($op=~/else/) { $displayby||="STATUS"; delete $$suggestion_ref{'branchcode'} if($displayby eq "branchcode"); + # distinct values of display by my $criteria_list=GetDistinctValues("suggestions.".$displayby); + my (@criteria_dv, $criteria_has_empty); + foreach (@$criteria_list) { + if ($_->{value}) { + push @criteria_dv, $_->{value}; + } else { + $criteria_has_empty = 1; + } + } + # agregate null and empty values under empty value + push @criteria_dv, '' if $criteria_has_empty; + my @allsuggestions; my $reasonsloop = GetAuthorisedValues("SUGGEST"); - foreach my $criteriumvalue ( map { $$_{'value'} } @$criteria_list ) { + foreach my $criteriumvalue ( @criteria_dv ) { # By default, display suggestions from current working branch - if(not defined $branchfilter) { + unless ( exists $$suggestion_ref{'branchcode'} ) { $$suggestion_ref{'branchcode'} = C4::Context->userenv->{'branch'}; } my $definedvalue = defined $$suggestion_ref{$displayby} && $$suggestion_ref{$displayby} ne ""; @@ -252,7 +263,6 @@ foreach my $element ( qw(managedby suggestedby acceptedby) ) { $template->param( %$suggestion_ref, "op_$op" => 1, - dateformat => C4::Context->preference("dateformat"), "op" =>$op, ); @@ -265,6 +275,7 @@ if(defined($returnsuggested) and $returnsuggested ne "noone") ## Initializing selection lists #branch display management +my $branchfilter = ($displayby ne "branchcode") ? $input->param('branchcode') : ''; my $onlymine=C4::Context->preference('IndependantBranches') && C4::Context->userenv && C4::Context->userenv->{flags}!=1 && @@ -356,18 +367,20 @@ $template->param( total => sprintf("%.2f", $$suggestion_ref{'total'}||0), ); +# lists of distinct values (without empty) for filters my %hashlists; foreach my $field ( qw(managedby acceptedby suggestedby budgetid) ) { my $values_list; $values_list = GetDistinctValues( "suggestions." . $field ); my @codes_list = map { { 'code' => $$_{'value'}, - 'desc' => GetCriteriumDesc( $$_{'value'}, $field ), + 'desc' => GetCriteriumDesc( $$_{'value'}, $field ) || $$_{'value'}, 'selected' => ($$suggestion_ref{$field}) ? $$_{'value'} eq $$suggestion_ref{$field} : 0, } + } grep { + $$_{'value'} } @$values_list; $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;