Lines 103-108
if ( $op eq 'edit' ) {
Link Here
|
103 |
my @mapping_facet = $input->multi_param('mapping_facet'); |
103 |
my @mapping_facet = $input->multi_param('mapping_facet'); |
104 |
my @mapping_suggestible = $input->multi_param('mapping_suggestible'); |
104 |
my @mapping_suggestible = $input->multi_param('mapping_suggestible'); |
105 |
my @mapping_search = $input->multi_param('mapping_search'); |
105 |
my @mapping_search = $input->multi_param('mapping_search'); |
|
|
106 |
my @mapping_filter = $input->multi_param('mapping_filter'); |
106 |
my @mapping_marc_field = $input->multi_param('mapping_marc_field'); |
107 |
my @mapping_marc_field = $input->multi_param('mapping_marc_field'); |
107 |
my @faceted_field_names = $input->multi_param('display_facet'); |
108 |
my @faceted_field_names = $input->multi_param('display_facet'); |
108 |
|
109 |
|
Lines 153-158
if ( $op eq 'edit' ) {
Link Here
|
153 |
my $mapping_suggestible = $mapping_suggestible[$i]; |
154 |
my $mapping_suggestible = $mapping_suggestible[$i]; |
154 |
my $mapping_sort = $mapping_sort[$i] eq 'undef' ? undef : $mapping_sort[$i]; |
155 |
my $mapping_sort = $mapping_sort[$i] eq 'undef' ? undef : $mapping_sort[$i]; |
155 |
my $mapping_search = $mapping_search[$i]; |
156 |
my $mapping_search = $mapping_search[$i]; |
|
|
157 |
my $mapping_filter = $mapping_filter[$i]; |
156 |
|
158 |
|
157 |
my $search_field = Koha::SearchFields->find({ name => $search_field_name }, { key => 'name' }); |
159 |
my $search_field = Koha::SearchFields->find({ name => $search_field_name }, { key => 'name' }); |
158 |
$mandatory_after++ if $search_field->mandatory && !defined $seen_fields{$search_field_name}; |
160 |
$mandatory_after++ if $search_field->mandatory && !defined $seen_fields{$search_field_name}; |
Lines 166-177
if ( $op eq 'edit' ) {
Link Here
|
166 |
marc_type => $marc_type, |
168 |
marc_type => $marc_type, |
167 |
marc_field => $mapping_marc_field |
169 |
marc_field => $mapping_marc_field |
168 |
}); |
170 |
}); |
169 |
$search_field->add_to_search_marc_maps($marc_field, { |
171 |
$search_field->add_to_search_marc_maps( |
170 |
facet => $mapping_facet, |
172 |
$marc_field, |
171 |
suggestible => $mapping_suggestible, |
173 |
{ |
172 |
sort => $mapping_sort, |
174 |
facet => $mapping_facet, |
173 |
search => $mapping_search |
175 |
suggestible => $mapping_suggestible, |
174 |
}); |
176 |
sort => $mapping_sort, |
|
|
177 |
search => $mapping_search, |
178 |
filter => $mapping_filter |
179 |
} |
180 |
); |
175 |
} |
181 |
} |
176 |
push @errors, { type => 'error', code => 'missing_mandatory_fields' } if $mandatory_after < $mandatory_before; |
182 |
push @errors, { type => 'error', code => 'missing_mandatory_fields' } if $mandatory_after < $mandatory_before; |
177 |
}; |
183 |
}; |
Lines 227-241
for my $index_name (@index_names) {
Link Here
|
227 |
my $search_fields = Koha::SearchFields->search( |
233 |
my $search_fields = Koha::SearchFields->search( |
228 |
{ |
234 |
{ |
229 |
'search_marc_map.index_name' => $index_name, |
235 |
'search_marc_map.index_name' => $index_name, |
230 |
'search_marc_map.marc_type' => $marc_type, |
236 |
'search_marc_map.marc_type' => $marc_type, |
231 |
}, |
237 |
}, |
232 |
{ |
238 |
{ |
233 |
join => { search_marc_to_fields => 'search_marc_map' }, |
239 |
join => { search_marc_to_fields => 'search_marc_map' }, |
234 |
'+select' => [ |
240 |
'+select' => [ |
235 |
'search_marc_to_fields.facet', |
241 |
'search_marc_to_fields.facet', |
236 |
'search_marc_to_fields.suggestible', |
242 |
'search_marc_to_fields.suggestible', |
237 |
'search_marc_to_fields.sort', |
243 |
'search_marc_to_fields.sort', |
238 |
'search_marc_to_fields.search', |
244 |
'search_marc_to_fields.search', |
|
|
245 |
'search_marc_to_fields.filter', |
239 |
'search_marc_map.marc_field' |
246 |
'search_marc_map.marc_field' |
240 |
], |
247 |
], |
241 |
'+as' => [ |
248 |
'+as' => [ |
Lines 243-253
for my $index_name (@index_names) {
Link Here
|
243 |
'suggestible', |
250 |
'suggestible', |
244 |
'sort', |
251 |
'sort', |
245 |
'search', |
252 |
'search', |
|
|
253 |
'filter', |
246 |
'marc_field' |
254 |
'marc_field' |
247 |
], |
255 |
], |
248 |
order_by => { -asc => [qw/name marc_field/] } |
256 |
order_by => { -asc => [qw/name marc_field/] } |
249 |
} |
257 |
} |
250 |
); |
258 |
); |
251 |
|
259 |
|
252 |
my @mappings; |
260 |
my @mappings; |
253 |
my @facetable_field_names = map { $_->name } @facetable_fields; |
261 |
my @facetable_field_names = map { $_->name } @facetable_fields; |
Lines 263-268
for my $index_name (@index_names) {
Link Here
|
263 |
sort => $s->get_column('sort') // 'undef', # To avoid warnings "Use of uninitialized value in lc" |
271 |
sort => $s->get_column('sort') // 'undef', # To avoid warnings "Use of uninitialized value in lc" |
264 |
suggestible => $s->get_column('suggestible'), |
272 |
suggestible => $s->get_column('suggestible'), |
265 |
search => $s->get_column('search'), |
273 |
search => $s->get_column('search'), |
|
|
274 |
filter => $s->get_column('filter'), |
266 |
facet => $s->get_column('facet'), |
275 |
facet => $s->get_column('facet'), |
267 |
is_facetable => ( grep { $_ eq $name } @facetable_field_names ) ? 1 : 0, |
276 |
is_facetable => ( grep { $_ eq $name } @facetable_field_names ) ? 1 : 0, |
268 |
}; |
277 |
}; |