FIX: 'only_hidden_tags_changed?' method returned 'true' even when tags are not changed.

While editing the first post it does't bumped the topic when the new post revision created. Because we wrongly assumed that the hidden tags are changed even when no tags are updated.
This commit is contained in:
Vinoth Kannan
2019-10-21 17:57:31 +05:30
parent 594925b896
commit 5e55e75aed
2 changed files with 18 additions and 2 deletions

View File

@@ -522,14 +522,17 @@ class PostRevisor
end
def only_hidden_tags_changed?
return false if (hidden_tag_names = DiscourseTagging.hidden_tag_names).blank?
modifications = post_changes.merge(@topic_changes.diff)
if modifications.keys.size == 1 && tags_diff = modifications["tags"]
if modifications.keys.size == 1 && (tags_diff = modifications["tags"]).present?
a, b = tags_diff[0] || [], tags_diff[1] || []
changed_tags = ((a + b) - (a & b)).map(&:presence).compact
if (changed_tags - DiscourseTagging.hidden_tag_names(nil)).empty?
if (changed_tags - hidden_tag_names).empty?
return true
end
end
false
end