From c9e98a461961e7128ca99a95c07c781b8aa9f783 Mon Sep 17 00:00:00 2001 From: Toks Date: Sat, 13 Apr 2013 13:42:23 -0400 Subject: [PATCH] fixes #1084 --- app/logical/post_query_builder.rb | 8 ++++++-- app/models/tag.rb | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb index 67659e132..fb59102a2 100644 --- a/app/logical/post_query_builder.rb +++ b/app/logical/post_query_builder.rb @@ -202,8 +202,12 @@ class PostQueryBuilder has_constraints! end - if q[:parent_id] - relation = relation.where("(posts.id = ? or posts.parent_id = ?)", q[:parent_id], q[:parent_id]) + if q[:parent] == "none" + relation = relation.where("posts.parent_id IS NULL") + elsif q[:parent_neg] == "none" || q[:parent] == "any" + relation = relation.where("posts.parent_id IS NOT NULL") + elsif q[:parent] + relation = relation.where("(posts.id = ? or posts.parent_id = ?)", q[:parent], q[:parent]) has_constraints! end diff --git a/app/models/tag.rb b/app/models/tag.rb index af6004781..c4ef06578 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -1,5 +1,5 @@ class Tag < ActiveRecord::Base - METATAGS = "-user|user|-approver|approver|commenter|comm|noter|-pool|pool|-fav|fav|sub|md5|-rating|rating|-locked|locked|width|height|mpixels|score|favcount|filesize|source|id|date|order|-status|status|tagcount|gentags|arttags|chartags|copytags|parent|pixiv_id|pixiv" + METATAGS = "-user|user|-approver|approver|commenter|comm|noter|-pool|pool|-fav|fav|sub|md5|-rating|rating|-locked|locked|width|height|mpixels|score|favcount|filesize|source|id|date|order|-status|status|tagcount|gentags|arttags|chartags|copytags|parent|-parent|pixiv_id|pixiv" attr_accessible :category has_one :wiki_page, :foreign_key => "name", :primary_key => "title" @@ -366,7 +366,10 @@ class Tag < ActiveRecord::Base q[:copyright_tag_count] = parse_helper($2) when "parent" - q[:parent_id] = $2.to_i + q[:parent] = $2.downcase + + when "-parent" + q[:parent_neg] = $2.downcase when "order" q[:order] = $2.downcase