FEATURE: ninja op_likes sort for topic lists

This commit is contained in:
Sam 2014-10-03 13:16:53 +10:00
parent 0d1b460f1e
commit cc23bb84d9

View File

@ -30,6 +30,7 @@ class TopicQuery
# Maps `order` to a columns in `topics`
SORTABLE_MAPPING = {
'likes' => 'like_count',
'op_likes' => 'op_likes',
'views' => 'views',
'posts' => 'posts_count',
'activity' => 'bumped_at',
@ -211,6 +212,10 @@ class TopicQuery
return result.references(:categories).order(TopicQuerySQL.order_by_category_sql(sort_dir))
end
if sort_column == 'op_likes'
return result.order("(SELECT like_count FROM posts p3 WHERE p3.topic_id = topics.id AND p3.post_number = 1) #{sort_dir}")
end
result.order("topics.#{sort_column} #{sort_dir}")
end