Browse Source

Bug 27316: Convert 'undef' for sort to Yes and use Yes/No instead of 0/1

This patch changes the interface to remove the undef option
We also update existing mappings and set default of 1

Comment previously indicated undef was treated differently, but in the code we treat undef as 1
That code is untoched to avoid creating problems for older mappings that may be reloaded

To test:
1 - View the ES mappings, note you can set columns to Undef, 0, 1
2 - Set some to undef
3 - Apply patches
4 - Update database
5 - Undef now show as 'Yes'
6 - Confirm you can set columns as Yes/no
7 - Confirm that mandatory columns display correct value when readonly (see issues field)

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Nick Clemens 3 years ago
committed by Jonathan Druart
parent
commit
9dd997e2d3
  1. 6
      installer/data/mysql/atomicupdate/bug_23716_update_sort_mappings.perl
  2. 22
      koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt

6
installer/data/mysql/atomicupdate/bug_23716_update_sort_mappings.perl

@ -0,0 +1,6 @@
$DBversion = 'XXX';
if( CheckVersion( $DBversion ) ) {
$dbh->do( "UPDATE search_marc_to_field SET sort = 1 WHERE sort IS NULL" );
$dbh->do( "ALTER TABLE search_marc_to_field MODIFY COLUMN sort tinyint(1) DEFAULT 1 NOT NULL COMMENT 'Sort defaults to 1 (Yes) and creates sort fields in the index, 0 (no) will prevent this'" );
NewVersion( $DBversion, 27316, "In Elastisearch mappings convert NULL (Undef) for sort to 1 (Yes)");
}

22
koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt

@ -253,7 +253,11 @@ a.add, a.delete {
[% mapping.search_field_label | html %] [% mapping.search_field_label | html %]
</td> </td>
<td> <td>
<input type="hidden" name="mapping_sort" value="[% mapping.sort | html %]" readonly />[% IF mapping.sort == 'undef' %]Undef[% ELSE %][% mapping.sort | html %][% END %] [% IF mapping.sort == 0 %]
<input type="hidden" name="mapping_sort" value="0" readonly />No
[% ELSE %]
<input type="hidden" name="mapping_sort" value="1" readonly />Yes
[% END %]
</td> </td>
<td> <td>
<input type="hidden" name="mapping_facet" value="[% mapping.facet | html %]" readonly />[% IF mapping.facet == 1 %]Yes[% ELSE %]No[% END %] <input type="hidden" name="mapping_facet" value="[% mapping.facet | html %]" readonly />[% IF mapping.facet == 1 %]Yes[% ELSE %]No[% END %]
@ -277,20 +281,12 @@ a.add, a.delete {
</td> </td>
<td> <td>
<select name="mapping_sort"> <select name="mapping_sort">
[% IF mapping.sort == 'undef' %]
<option value="undef" selected="selected">Undef</option>
[% ELSE %]
<option value="undef">Undef</option>
[% END %]
[% IF mapping.sort == 0 %] [% IF mapping.sort == 0 %]
<option value="0" selected="selected">0</option> <option value="0" selected="selected">No</option>
[% ELSE %] <option value="1">Yes</option>
<option value="0">0</option>
[% END %]
[% IF mapping.sort == 1 %]
<option value="1" selected="selected">1</option>
[% ELSE %] [% ELSE %]
<option value="1">1</option> <option value="0">No</option>
<option value="1" selected="selected">Yes</option>
[% END %] [% END %]
</select> </select>
</td> </td>

Loading…
Cancel
Save