Filtering error
This commit is contained in:
parent
b13042effb
commit
65cd5e2b1d
@ -189,14 +189,13 @@ module DmsfQueriesHelper
|
||||
end
|
||||
|
||||
def filter_any?
|
||||
# :v - standard filters
|
||||
# :op - custom fields filters
|
||||
[:v, :op].each do |p|
|
||||
if params[p]
|
||||
params[p].each do |filter|
|
||||
return true if (filter.size > 1) && filter[1].all?{ |v| v.present? }
|
||||
end
|
||||
# :v - value, :op - operator
|
||||
size = params[:op]&.keys&.size
|
||||
if size
|
||||
if (size == 1) && params[:op].has_key?('title') && params[:op]['title'] == '~' && params[:v]['title'].join.empty?
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
false
|
||||
end
|
||||
|
||||
@ -112,7 +112,7 @@ class DmsfQuery < Query
|
||||
filters_clauses = []
|
||||
filters.each_key do |field|
|
||||
v = values_for(field).clone
|
||||
next unless v and !v.empty?
|
||||
next unless v && !v.empty?
|
||||
operator = operator_for(field)
|
||||
case field
|
||||
when 'author'
|
||||
@ -120,7 +120,7 @@ class DmsfQuery < Query
|
||||
v.push User.current.id.to_s
|
||||
end
|
||||
when 'title'
|
||||
next if v.include?('')
|
||||
next if (operator == '~') && v.join.empty?
|
||||
end
|
||||
filters_clauses << '(' + sql_for_field(field, operator, v, queried_table_name, field) + ')'
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user