) AS values$i |;
$subquery .= ' USING (record_id)' if $i > 1;
push @subqueries, $subquery;
- push @args, $field->{name}, $tablename, ( $exact_match ? $field->{value} : "%$field->{value}%" );
+ push @args, $field->{name}, $tablename, ( ( $exact_match or $field->{authorised_value_category} ) ? $field->{value} : "%$field->{value}%" );
}
$query .= join( ' LEFT JOIN ', @subqueries ) . ' WHERE 1';
for my $j ( 1 .. $i ) {
<select id="additional_field_[% field.id %]" name="additional_field_[% field.id %]_filter">
<option value="">All</option>
[% FOREACH av IN field.authorised_value_choices %]
- [% IF av.authorised_value == additional_field_filters.${field.name} %]
+ [% IF av.authorised_value == additional_field_filters.${field.name}.value %]
<option value="[% av.authorised_value %]" selected="selected">[% av.lib %]</option>
[% ELSE %]
<option value="[% av.authorised_value %]">[% av.lib %]</option>
[% END %]
</select>
[% ELSE %]
- <input id="additional_field_[% field.id %]" type="text" value="[% additional_field_filters.${field.name} %]" name="additional_field_[% field.id %]_filter" />
+ <input id="additional_field_[% field.id %]" type="text" value="[% additional_field_filters.${field.name}.value %]" name="additional_field_[% field.id %]_filter" />
[% END %]
</li>
[% END %]
my $additional_field_filters;
for my $field ( @$additional_fields ) {
my $filter_value = $query->param('additional_field_' . $field->{id} . '_filter');
- if ( defined ( $filter_value ) ) {
- $additional_field_filters->{ $field->{name} } = $filter_value;
+ if ( defined $filter_value and $filter_value ne q|| ) {
+ $additional_field_filters->{ $field->{name} } = {
+ value => $filter_value,
+ authorised_value_category => $field->{authorised_value_category},
+ };
}
if ( $field->{authorised_value_category} ) {
$field->{authorised_value_choices} = GetAuthorisedValues( $field->{authorised_value_category} );
publisher => $publisher,
bookseller => $bookseller,
branch => $branch,
- additional_fields => [ map{ { name => $_, value => $additional_field_filters->{$_}} } keys %$additional_field_filters ],
+ additional_fields => [ map{ { name => $_, value => $additional_field_filters->{$_}{value}, authorised_value_category => $additional_field_filters->{$_}{authorised_value_category} } } keys %$additional_field_filters ],
location => $location,
expiration_date => $expiration_date_dt,
}