View | Details | Raw Unified | Return to bug 18213
Collapse All | Expand All

(-)a/C4/Languages.pm (+14 lines)
Lines 622-627 sub getlanguage { Link Here
622
    return $language;
622
    return $language;
623
}
623
}
624
624
625
=head2 get_rfc4646_from_iso639
626
627
    Select a language rfc4646 code given an iso639 code
628
629
=cut
630
631
sub get_rfc4646_from_iso639 {
632
633
    my $iso_code = shift;
634
    my $rfc_subtag = Koha::Database->new()->schema->resultset('LanguageRfc4646ToIso639')->find({iso639_2_code=>$iso_code})->rfc4646_subtag;
635
    return $rfc_subtag;
636
637
}
638
625
1;
639
1;
626
640
627
__END__
641
__END__
(-)a/Koha/SearchEngine/Elasticsearch.pm (-1 / +1 lines)
Lines 975-981 sub get_facetable_fields { Link Here
975
975
976
    # These should correspond to the ES field names, as opposed to the CCL
976
    # These should correspond to the ES field names, as opposed to the CCL
977
    # things that zebra uses.
977
    # things that zebra uses.
978
    my @search_field_names = qw( author itype location su-geo se subject ccode holdingbranch homebranch );
978
    my @search_field_names = qw( author itype location su-geo se subject ccode holdingbranch homebranch ln);
979
    my @faceted_fields = Koha::SearchFields->search(
979
    my @faceted_fields = Koha::SearchFields->search(
980
        { name => { -in => \@search_field_names }, facet_order => { '!=' => undef } }, { order_by => ['facet_order'] }
980
        { name => { -in => \@search_field_names }, facet_order => { '!=' => undef } }, { order_by => ['facet_order'] }
981
    );
981
    );
(-)a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm (+1 lines)
Lines 118-123 sub build_query { Link Here
118
        'su-geo' => { terms => { field => "su-geo__facet" } },
118
        'su-geo' => { terms => { field => "su-geo__facet" } },
119
        se       => { terms => { field => "se__facet" } },
119
        se       => { terms => { field => "se__facet" } },
120
        ccode    => { terms => { field => "ccode__facet" } },
120
        ccode    => { terms => { field => "ccode__facet" } },
121
        ln       => { terms => { field => "ln__facet" } },
121
    };
122
    };
122
123
123
    my $display_library_facets = C4::Context->preference('DisplayLibraryFacets');
124
    my $display_library_facets = C4::Context->preference('DisplayLibraryFacets');
(-)a/Koha/SearchEngine/Elasticsearch/Search.pm (+1 lines)
Lines 447-452 sub _convert_facets { Link Here
447
        ccode         => 'CollectionCodes',
447
        ccode         => 'CollectionCodes',
448
        holdingbranch => 'HoldingLibrary',
448
        holdingbranch => 'HoldingLibrary',
449
        homebranch    => 'HomeLibrary',
449
        homebranch    => 'HomeLibrary',
450
        ln            => 'Language',
450
    );
451
    );
451
    my @facetable_fields =
452
    my @facetable_fields =
452
      Koha::SearchEngine::Elasticsearch->get_facetable_fields;
453
      Koha::SearchEngine::Elasticsearch->get_facetable_fields;
(-)a/admin/searchengine/elasticsearch/mappings.yaml (-3 / +4 lines)
Lines 2334-2355 biblios: Link Here
2334
  ln:
2334
  ln:
2335
    label: ln
2335
    label: ln
2336
    mappings:
2336
    mappings:
2337
      - facet: ''
2337
      - facet: '1'
2338
        marc_field: 008_/35-37
2338
        marc_field: 008_/35-37
2339
        marc_type: marc21
2339
        marc_type: marc21
2340
        sort: ~
2340
        sort: ~
2341
        suggestible: ''
2341
        suggestible: ''
2342
      - facet: ''
2342
      - facet: '1'
2343
        marc_field: 008_/35-37
2343
        marc_field: 008_/35-37
2344
        marc_type: normarc
2344
        marc_type: normarc
2345
        sort: ~
2345
        sort: ~
2346
        suggestible: ''
2346
        suggestible: ''
2347
      - facet: ''
2347
      - facet: '1'
2348
        marc_field: 101a
2348
        marc_field: 101a
2349
        marc_type: unimarc
2349
        marc_type: unimarc
2350
        sort: ~
2350
        sort: ~
2351
        suggestible: ''
2351
        suggestible: ''
2352
    type: ''
2352
    type: ''
2353
    facet_order: 10
2353
  local-classification:
2354
  local-classification:
2354
    label: local-classification
2355
    label: local-classification
2355
    mappings:
2356
    mappings:
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/facets.inc (+3 lines)
Lines 1-5 Link Here
1
[% USE raw %]
1
[% USE raw %]
2
[% USE AuthorisedValues %]
2
[% USE AuthorisedValues %]
3
[% USE Languages %]
3
[% IF ( opacfacets ) %]
4
[% IF ( opacfacets ) %]
4
[% IF ( facets_loop ) %]
5
[% IF ( facets_loop ) %]
5
<div id="search-facets">
6
<div id="search-facets">
Lines 23-28 Link Here
23
[% IF ( facets_loo.type_label_HoldingLibrary ) %]<span id="facet-holding-libraries">Holding libraries</span>[% END %]
24
[% IF ( facets_loo.type_label_HoldingLibrary ) %]<span id="facet-holding-libraries">Holding libraries</span>[% END %]
24
[% IF facets_loo.type_label_Location %]<span id="facet-locations">Locations</span>[% END %]
25
[% IF facets_loo.type_label_Location %]<span id="facet-locations">Locations</span>[% END %]
25
[% IF facets_loo.type_label_CollectionCodes %]<span id="facet-collections">Collections</span>[% END %]
26
[% IF facets_loo.type_label_CollectionCodes %]<span id="facet-collections">Collections</span>[% END %]
27
[% IF facets_loo.type_label_Language %]<span id="facet-languages">Languages</span>[% END %]
26
<ul>
28
<ul>
27
  [% SET url = "/cgi-bin/koha/catalogue/search.pl?" _ query_cgi _ limit_cgi %]
29
  [% SET url = "/cgi-bin/koha/catalogue/search.pl?" _ query_cgi _ limit_cgi %]
28
  [% IF ( sort_by ) %]
30
  [% IF ( sort_by ) %]
Lines 30-35 Link Here
30
  [% END %]
32
  [% END %]
31
  [% FOREACH facet IN facets_loo.facets %]
33
  [% FOREACH facet IN facets_loo.facets %]
32
  [% IF facets_loo.type_label_CollectionCodes %][% SET facet.facet_label_value = AuthorisedValues.GetByCode('CCODE',facet.facet_label_value,0) || facet.facet_label_value %][% END %]
34
  [% IF facets_loo.type_label_CollectionCodes %][% SET facet.facet_label_value = AuthorisedValues.GetByCode('CCODE',facet.facet_label_value,0) || facet.facet_label_value %][% END %]
35
  [% IF facets_loo.type_label_Language %][% SET facet.facet_label_value = Languages.GetByISOCode(lang,facet.facet_label_value) || facet.facet_label_value %][% END %]
33
    <li>
36
    <li>
34
      [% IF facet.active %]
37
      [% IF facet.active %]
35
        [% local_url = BLOCK %][% url | $raw %][% "&nolimit=" _  facet.type_link_value _ ":" _ facet.facet_link_value | url %][% END %]
38
        [% local_url = BLOCK %][% url | $raw %][% "&nolimit=" _  facet.type_link_value _ ":" _ facet.facet_link_value | url %][% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt (+1 lines)
Lines 369-374 a.add, a.delete { Link Here
369
                                                [% CASE 'ccode' %]Collections
369
                                                [% CASE 'ccode' %]Collections
370
                                                [% CASE 'holdingbranch' %]Holding libraries
370
                                                [% CASE 'holdingbranch' %]Holding libraries
371
                                                [% CASE 'homebranch' %]Home libraries
371
                                                [% CASE 'homebranch' %]Home libraries
372
                                                [% CASE 'ln' %]Language
372
                                                [% CASE %][% f | html %]
373
                                                [% CASE %][% f | html %]
373
                                                [% END %]
374
                                                [% END %]
374
                                            </td>
375
                                            </td>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-facets.inc (+3 lines)
Lines 1-5 Link Here
1
[% USE raw %]
1
[% USE raw %]
2
[% USE AuthorisedValues %]
2
[% USE AuthorisedValues %]
3
[% USE Languages %]
3
[% IF ( opacfacets && facets_loop && total ) %]
4
[% IF ( opacfacets && facets_loop && total ) %]
4
    <div id="search-facets">
5
    <div id="search-facets">
5
        <h4><a href="#" class="menu-collapse-toggle">Refine your search</a></h4>
6
        <h4><a href="#" class="menu-collapse-toggle">Refine your search</a></h4>
Lines 27-32 Link Here
27
                        [% IF facets_loo.type_label_Series %]<h5 id="facet-series">Series</h5>[% END %]
28
                        [% IF facets_loo.type_label_Series %]<h5 id="facet-series">Series</h5>[% END %]
28
                        [% IF facets_loo.type_label_ItemTypes %]<h5 id="facet-itemtypes">Item types</h5>[% END %]
29
                        [% IF facets_loo.type_label_ItemTypes %]<h5 id="facet-itemtypes">Item types</h5>[% END %]
29
                        [% IF facets_loo.type_label_CollectionCodes %]<h5 id="facet-collections">Collections</h5>[% END %]
30
                        [% IF facets_loo.type_label_CollectionCodes %]<h5 id="facet-collections">Collections</h5>[% END %]
31
                        [% IF facets_loo.type_label_Language %]<h5 id="facet-languages">Languages</h5>[% END %]
30
                        [% UNLESS singleBranchMode %]
32
                        [% UNLESS singleBranchMode %]
31
                            [% IF ( facets_loo.type_label_HomeLibrary ) %]<h5 id="facet-home-libraries">Home libraries</h5>[% END %]
33
                            [% IF ( facets_loo.type_label_HomeLibrary ) %]<h5 id="facet-home-libraries">Home libraries</h5>[% END %]
32
                            [% IF ( facets_loo.type_label_HoldingLibrary ) %]<h5 id="facet-holding-libraries">Holding libraries</h5>[% END %]
34
                            [% IF ( facets_loo.type_label_HoldingLibrary ) %]<h5 id="facet-holding-libraries">Holding libraries</h5>[% END %]
Lines 39-44 Link Here
39
                            [% END %]
41
                            [% END %]
40
                            [% FOREACH facet IN facets_loo.facets %]
42
                            [% FOREACH facet IN facets_loo.facets %]
41
                            [% IF facets_loo.type_label_CollectionCodes %][% SET facet.facet_label_value = AuthorisedValues.GetByCode('CCODE',facet.facet_label_value,1) || facet.facet_label_value %][% END %]
43
                            [% IF facets_loo.type_label_CollectionCodes %][% SET facet.facet_label_value = AuthorisedValues.GetByCode('CCODE',facet.facet_label_value,1) || facet.facet_label_value %][% END %]
44
                            [% IF facets_loo.type_label_Language %][% SET facet.facet_label_value = Languages.GetByISOCode(lang,facet.facet_label_value) || facet.facet_label_value %][% END %]
42
                                <li>
45
                                <li>
43
                                  [% IF facet.active %]
46
                                  [% IF facet.active %]
44
                                    [% local_url = BLOCK %][% url | $raw %][% "&nolimit=" _  facet.type_link_value _ ":" _ facet.facet_link_value | url %][% END %]
47
                                    [% local_url = BLOCK %][% url | $raw %][% "&nolimit=" _  facet.type_link_value _ ":" _ facet.facet_link_value | url %][% END %]
(-)a/t/db_dependent/Languages.t (-2 / +8 lines)
Lines 5-11 Link Here
5
5
6
use Modern::Perl;
6
use Modern::Perl;
7
7
8
use Test::More tests => 17;
8
use Test::More tests => 18;
9
use List::Util qw(first);
9
use List::Util qw(first);
10
use Data::Dumper;
10
use Data::Dumper;
11
use Test::Warn;
11
use Test::Warn;
Lines 94-96 $sth->execute(); Link Here
94
my $LangRfc4646 = $sth->fetchall_arrayref({});
94
my $LangRfc4646 = $sth->fetchall_arrayref({});
95
95
96
is(scalar(@$LangRfc4646),scalar(@$DistinctLangRfc4646),"No unexpected language_rfc4646_to_iso639 duplicates.");
96
is(scalar(@$LangRfc4646),scalar(@$DistinctLangRfc4646),"No unexpected language_rfc4646_to_iso639 duplicates.");
97
- 
97
98
my $i = 0;
99
foreach my $pair (@$DistinctLangRfc4646){
100
    $i++ if $pair->{rfc4646_subtag} eq C4::Languages::get_rfc4646_from_iso639( $pair->{iso639_2_code} );
101
}
102
is($i,scalar(@$DistinctLangRfc4646),"get_rfc4646_from_iso639 returns correct rfc for all iso values.");
103

Return to bug 18213