Bug 17377: ES - Take control fields into account
commitcb76c3bd97665ef6bee1f9be8b0e96333f91abbe
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 29 Sep 2016 15:08:36 +0000 (29 16:08 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 18 Nov 2016 13:53:20 +0000 (18 13:53 +0000)
tree12e8ebc5188017298a85e5e1dae8e62c7c545551
parent847ac4b031d7b89968743c8f1f22feb4f4906d8c
Bug 17377: ES - Take control fields into account

There is a bug in Koha::SearchEngine::Elasticsearc::Search->json2marc, it
assumes that the MARC::Field constructor always takes >= 5 parameters.
This assumption is wrong for control fields, to create a control field you
need to call the constructor with:
  MARC::Field->new($tag, $value);

Note that I got "Too much data for control field" in the _warning value of my
MARC::Field because too many parameters were passed, and the value was undef.

That broke the result search links (on the staff interface) for DB with
biblio.biblionumber mapped with 001.

Other bugs will certainly be fixed by this patch.
For instance I got:
  GetMarcBiblio called with undefined biblionumber at /home/koha/src/opac/opac-search.pl line 664.
  GetCOinSBiblio called with undefined record at /home/koha/src/opac/opac-search.pl line 665.
in my logs, with this patch I don't get them anymore.

Test plan:
You can try to recreate the different issues and confirm than this patch
fixes them.
Or just run the tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Koha/SearchEngine/Elasticsearch/Search.pm