diff --git a/app/helpers/post_versions_helper.rb b/app/helpers/post_versions_helper.rb
index cf2e0d9c8..aa9716d58 100644
--- a/app/helpers/post_versions_helper.rb
+++ b/app/helpers/post_versions_helper.rb
@@ -3,16 +3,12 @@ module PostVersionsHelper
diff = post_version.diff(post_version.previous)
html = []
diff[:added_tags].each do |tag|
- html << '+' + link_to(tag, posts_path(:tags => tag)) + ''
- end
- diff[:obsolete_added_tags].each do |tag|
- html << '+' + link_to(tag, posts_path(:tags => tag)) + ''
+ prefix = diff[:obsolete_added_tags].include?(tag) ? '+' : '+'
+ html << prefix + link_to(tag, posts_path(:tags => tag)) + ''
end
diff[:removed_tags].each do |tag|
- html << '-' + link_to(tag, posts_path(:tags => tag)) + ''
- end
- diff[:obsolete_removed_tags].each do |tag|
- html << '-' + link_to(tag, posts_path(:tags => tag)) + ''
+ prefix = diff[:obsolete_removed_tags].include?(tag) ? '-' : '-'
+ html << prefix + link_to(tag, posts_path(:tags => tag)) + ''
end
diff[:unchanged_tags].each do |tag|
html << '' + link_to(tag, posts_path(:tags => tag)) + ''
diff --git a/app/models/post_version.rb b/app/models/post_version.rb
index 0893aa282..95e65d204 100644
--- a/app/models/post_version.rb
+++ b/app/models/post_version.rb
@@ -93,8 +93,8 @@ class PostVersion < ActiveRecord::Base
removed_tags = old_tags - new_tags
return {
- :added_tags => added_tags & latest_tags,
- :removed_tags => removed_tags - latest_tags,
+ :added_tags => added_tags,
+ :removed_tags => removed_tags,
:obsolete_added_tags => added_tags - latest_tags,
:obsolete_removed_tags => removed_tags & latest_tags,
:unchanged_tags => new_tags & old_tags,