From 0842d9dc6f119b798bc158e6251820c283f5da3c Mon Sep 17 00:00:00 2001 From: Toks Date: Fri, 6 Dec 2013 14:25:24 -0500 Subject: [PATCH] fixes #1996 --- app/assets/javascripts/tag_script.js | 2 +- app/models/post.rb | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/tag_script.js b/app/assets/javascripts/tag_script.js index 7dade90fe..2f753b3b1 100644 --- a/app/assets/javascripts/tag_script.js +++ b/app/assets/javascripts/tag_script.js @@ -34,7 +34,7 @@ } } else if (command === "[reset]") { return []; - } else if (command[0] === "-" && !command.match(/^-pool:/i)) { + } else if (command[0] === "-" && !command.match(/^(?:-pool|-parent):/i)) { return Danbooru.reject(tags, function(x) {return x === command.substr(1, 100)}); } else { tags.push(command); diff --git a/app/models/post.rb b/app/models/post.rb index 6ae650f5f..ee8b93286 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -432,7 +432,7 @@ class Post < ActiveRecord::Base end def filter_metatags(tags) - @pre_metatags, tags = tags.partition {|x| x =~ /\A(?:rating|parent):/i} + @pre_metatags, tags = tags.partition {|x| x =~ /\A(?:rating|parent|-parent):/i} @post_metatags, tags = tags.partition {|x| x =~ /\A(?:-pool|pool|newpool|fav|child):/i} apply_pre_metatags return tags @@ -485,6 +485,11 @@ class Post < ActiveRecord::Base when /^parent:none$/i, /^parent:0$/i self.parent_id = nil + when /^-parent:(\d+)$/i + if parent_id == $1.to_i + self.parent_id = nil + end + when /^parent:(\d+)$/i if $1.to_i != id && Post.exists?(["id = ?", $1.to_i]) self.parent_id = $1.to_i