diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb index 88d77bc09..9773624d9 100644 --- a/app/logical/post_query_builder.rb +++ b/app/logical/post_query_builder.rb @@ -118,7 +118,9 @@ class PostQueryBuilder def metatags_match(metatags, relation) metatags.each do |metatag| - clause = metatag_matches(metatag.name, metatag.value, quoted: metatag.quoted) + metatag_name = metatags_without_ord[metatag.name] if metatag.negated && metatags_without_ord.key?(metatag.name) + + clause = metatag_matches(metatag_name || metatag.name, metatag.value, quoted: metatag.quoted) clause = clause.negate_relation if metatag.negated relation = relation.and_relation(clause) end @@ -126,6 +128,14 @@ class PostQueryBuilder relation end + def metatags_without_ord + { + "ordfav" => "fav", + "ordfavgroup" => "favgroup", + "ordpool" => "pool", + } + end + def metatag_matches(name, value, quoted: false) case name when "id"