A first step to "validate" the MARC mappings: Remove all whitespace, so
if a user enters "245a " (with a trailing whitespace, which can easily
happen when copy/pasting) we only store "245a" in the DB. This is
neccessary, because the ES indexer will throw an exception in an invalid
MARC mapping.
Test Plan:
* Go to /cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl
* Go to the Bibliographic Records Tab
* Enter "100 a b c " (notice the whitespaces!) in the first "mapping"
field
* Scroll down and save
* Go back to the Bibliographic Records Tab
* The spaces are still there
Now apply the patch
* Repeat the above steps
* After saving you should see "100abc" without any spaces in the
"mapping" field
Sponsored-by: Steiermärkische Landesbibliothek
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
my $search_field = Koha::SearchFields->find({ name => $search_field_name }, { key => 'name' });
$mandatory_after++ if $search_field->mandatory && !defined $seen_fields{$search_field_name};
$seen_fields{$search_field_name} = 1;
+
# TODO Check mapping format
+ $mapping_marc_field =~ s/\s//g;
+
my $marc_field = Koha::SearchMarcMaps->find_or_create({
index_name => $index_name,
marc_type => $marc_type,