Bug 4266: Hide Encumbrance and Expenditure in aqbudgets.tt
[koha.git] / Koha / SearchEngine / Solr / FacetsBuilder.pm
1 package Koha::SearchEngine::Solr::FacetsBuilder;
2
3 use Modern::Perl;
4 use Moose::Role;
5
6 with 'Koha::SearchEngine::FacetsBuilderRole';
7
8 sub build_facets {
9     my ( $self, $results, $facetable_indexes, $filters ) = @_;
10     my @facets_loop;
11     for my $index ( @$facetable_indexes ) {
12         my $index_name = $index->{type} . '_' . $index->{code};
13         my $facets = $results->facets->{'str_' . $index->{code}};
14         if ( @$facets > 1 ) {
15             my @values;
16             $index =~ m/^([^_]*)_(.*)$/;
17             for ( my $i = 0 ; $i < scalar(@$facets) ; $i++ ) {
18                 my $value = $facets->[$i++];
19                 my $count = $facets->[$i];
20                 utf8::encode($value);
21                 my $lib =$value;
22                 push @values, {
23                     'lib'     => $lib,
24                     'value'   => $value,
25                     'count'   => $count,
26                     'active'  => ( $filters->{$index_name} and scalar( grep /"?\Q$value\E"?/, @{ $filters->{$index_name} } ) ) ? 1 : 0,
27                 };
28             }
29
30             push @facets_loop, {
31                 'indexname' => $index_name,
32                 'label'     => $index->{label},
33                 'values'    => \@values,
34                 'size'      => scalar(@values),
35             };
36         }
37     }
38     return @facets_loop;
39 }
40
41 1;