favgroups: convert post_ids from string to array.
This commit is contained in:
@@ -450,24 +450,12 @@ class PostQueryBuilder
|
||||
relation = relation.joins("JOIN (#{pool_posts.to_sql}) pool_posts ON pool_posts.post_id = posts.id").order("pool_posts.pool_index ASC")
|
||||
end
|
||||
|
||||
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.not("posts.id": favgroup.post_id_array)
|
||||
end
|
||||
end
|
||||
q[:favgroups_neg].to_a.each do |favgroup|
|
||||
relation = relation.where.not("posts.id": favgroup.post_ids)
|
||||
end
|
||||
|
||||
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": favgroup.post_id_array)
|
||||
end
|
||||
end
|
||||
q[:favgroups].to_a.each do |favgroup|
|
||||
relation = relation.where("posts.id": favgroup.post_ids)
|
||||
end
|
||||
|
||||
if q[:upvote].present?
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
module PostSets
|
||||
class FavoriteGroup < PostSets::Pool
|
||||
def presenter
|
||||
@presenter ||= PostSetPresenters::FavoriteGroup.new(self)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,60 +0,0 @@
|
||||
module PostSets
|
||||
class Pool < PostSets::Base
|
||||
module ActiveRecordExtension
|
||||
attr_accessor :total_pages, :current_page
|
||||
end
|
||||
|
||||
attr_reader :pool, :page
|
||||
|
||||
def initialize(pool, page = 1)
|
||||
@pool = pool
|
||||
@page = page
|
||||
end
|
||||
|
||||
def offset
|
||||
(current_page - 1) * limit
|
||||
end
|
||||
|
||||
def limit
|
||||
CurrentUser.user.per_page
|
||||
end
|
||||
|
||||
def tag_array
|
||||
["pool:#{pool.id}"]
|
||||
end
|
||||
|
||||
def posts
|
||||
@posts ||= begin
|
||||
x = pool.posts(:offset => offset, :limit => limit)
|
||||
x.extend(ActiveRecordExtension)
|
||||
x.total_pages = total_pages
|
||||
x.current_page = current_page
|
||||
x
|
||||
end
|
||||
end
|
||||
|
||||
def tag_string
|
||||
tag_array.join("")
|
||||
end
|
||||
|
||||
def humanized_tag_string
|
||||
"pool:#{pool.pretty_name}"
|
||||
end
|
||||
|
||||
def presenter
|
||||
@presenter ||= PostSetPresenters::Pool.new(self)
|
||||
end
|
||||
|
||||
def total_pages
|
||||
(pool.post_count.to_f / limit).ceil
|
||||
end
|
||||
|
||||
def size
|
||||
posts.size
|
||||
end
|
||||
|
||||
def current_page
|
||||
[page.to_i, 1].max
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user