Fixes #2861
This commit is contained in:
@@ -340,19 +340,23 @@ class PostQueryBuilder
|
||||
relation = relation.order("position(' '||posts.id||' ' in ' '||(select post_ids from pools where id = #{pool_id})||' ')")
|
||||
end
|
||||
|
||||
if q[:favgroup_neg].present?
|
||||
favgroup_id = q[:favgroup_neg].to_i
|
||||
favgroup = FavoriteGroup.where("favorite_groups.id = ?", favgroup_id).first
|
||||
if favgroup
|
||||
relation = relation.where("posts.id NOT in (?)", favgroup.post_id_array)
|
||||
if q[:favgroups_neg].present?
|
||||
q[:favgroups_neg].each do |favgroup_rec|
|
||||
favgroup_id = favgroup_rec.to_i
|
||||
favgroup = FavoriteGroup.where("favorite_groups.id = ?", favgroup_id).first
|
||||
if favgroup
|
||||
relation = relation.where("posts.id NOT in (?)", favgroup.post_id_array)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if q[:favgroup].present?
|
||||
favgroup_id = q[:favgroup].to_i
|
||||
favgroup = FavoriteGroup.where("favorite_groups.id = ?", favgroup_id).first
|
||||
if favgroup
|
||||
relation = relation.where("posts.id in (?)", favgroup.post_id_array)
|
||||
if q[:favgroups].present?
|
||||
q[:favgroups].each do |favgroup_rec|
|
||||
favgroup_id = favgroup_rec.to_i
|
||||
favgroup = FavoriteGroup.where("favorite_groups.id = ?", favgroup_id).first
|
||||
if favgroup
|
||||
relation = relation.where("posts.id in (?)", favgroup.post_id_array)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -487,11 +487,13 @@ class Tag < ActiveRecord::Base
|
||||
|
||||
when "-favgroup"
|
||||
favgroup_id = FavoriteGroup.name_to_id($2)
|
||||
q[:favgroup_neg] = favgroup_id
|
||||
q[:favgroups_neg] ||= []
|
||||
q[:favgroups_neg] << favgroup_id
|
||||
|
||||
when "favgroup"
|
||||
favgroup_id = FavoriteGroup.name_to_id($2)
|
||||
q[:favgroup] = favgroup_id
|
||||
q[:favgroups] ||= []
|
||||
q[:favgroups] << favgroup_id
|
||||
|
||||
when "-fav"
|
||||
q[:tags][:exclude] << "fav:#{User.name_to_id($2)}"
|
||||
|
||||
Reference in New Issue
Block a user