diff --git a/app/assets/stylesheets/specific/posts.css.scss b/app/assets/stylesheets/specific/posts.css.scss
index 9c78725fc..8327bb04b 100644
--- a/app/assets/stylesheets/specific/posts.css.scss
+++ b/app/assets/stylesheets/specific/posts.css.scss
@@ -302,11 +302,19 @@ div#c-post-versions, div#c-artist-versions {
margin-right: 0.5em;
}
+ ins.obsolete, ins.obsolete a {
+ color: darkGreen;
+ }
+
del, del a {
color: red;
text-decoration: line-through;
margin-right: 0.5em;
}
+
+ del.obsolete, del.obsolete a {
+ color: darkRed;
+ }
}
}
diff --git a/app/helpers/post_versions_helper.rb b/app/helpers/post_versions_helper.rb
index a9ce482d1..cf2e0d9c8 100644
--- a/app/helpers/post_versions_helper.rb
+++ b/app/helpers/post_versions_helper.rb
@@ -5,9 +5,15 @@ module PostVersionsHelper
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)) + ''
+ 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)) + ''
+ end
diff[:unchanged_tags].each do |tag|
html << '' + link_to(tag, posts_path(:tags => tag)) + ''
end
diff --git a/app/models/post_version.rb b/app/models/post_version.rb
index 1e7dff2e8..ee316ca29 100644
--- a/app/models/post_version.rb
+++ b/app/models/post_version.rb
@@ -84,12 +84,15 @@ class PostVersion < ActiveRecord::Base
old_tags << "source:#{version.source}" if version.source.present?
end
+ added_tags = new_tags - old_tags
+ removed_tags = old_tags - new_tags
+
return {
- :added_tags => new_tags - old_tags,
- :removed_tags => old_tags - new_tags,
+ :added_tags => added_tags & latest_tags,
+ :removed_tags => removed_tags - latest_tags,
+ :obsolete_added_tags => added_tags - latest_tags,
+ :obsolete_removed_tags => removed_tags & latest_tags,
:unchanged_tags => new_tags & old_tags,
- :obsolete_added_tags => new_tags - latest_tags,
- :obsolete_removed_tags => old_tags & latest_tags,
}
end