fixes #1904: Display aliases/implications in artist excerpt, fixes bug with approving alias/implications involving artists

This commit is contained in:
r888888888
2015-08-06 16:40:30 -07:00
parent 65d52ebb40
commit e675016ec5
6 changed files with 47 additions and 29 deletions

View File

@@ -1,4 +1,13 @@
module ArtistsHelper
def artist_alias_and_implication_list(artist)
consequent_tag_aliases = TagAlias.where("status in ('active', 'processing') and consequent_name = ?", artist.name)
antecedent_tag_alias = TagAlias.where("status in ('active', 'processing') and antecedent_name = ?", artist.name).first
consequent_tag_implications = TagImplication.where("status in ('active', 'processing') and consequent_name = ?", artist.name)
antecedent_tag_implications = TagImplication.where("status in ('active', 'processing') and antecedent_name = ?", artist.name)
alias_and_implication_list(antecedent_tag_alias, consequent_tag_aliases, antecedent_tag_implications, consequent_tag_implications)
end
def link_to_artist(name)
artist = Artist.find_by_name(name)

View File

@@ -1,4 +1,34 @@
module TagsHelper
def alias_and_implication_list(antecedent_alias, consequent_aliases, antecedent_implications, consequent_implications)
html = ""
if antecedent_alias
html << "<p class='hint'>This tag has been aliased to "
html << link_to(antecedent_alias.consequent_name, show_or_new_wiki_pages_path(:title => antecedent_alias.consequent_name))
html << ".</p>"
end
if consequent_aliases.any?
html << "<p class='hint'>The following tags are aliased to this tag: "
html << raw(consequent_aliases.map {|x| link_to(x.antecedent_name, show_or_new_wiki_pages_path(:title => x.antecedent_name))}.join(", "))
html << ".</p>"
end
if antecedent_implications.any?
html << "<p class='hint'>This tag implicates "
html << raw(antecedent_implications.map {|x| link_to(x.consequent_name, show_or_new_wiki_pages_path(:title => x.consequent_name))}.join(", "))
html << ".</p>"
end
if consequent_implications.any?
html << "<p class='hint'>The following tags implicate this tag: "
html << raw(consequent_implications.map {|x| link_to(x.antecedent_name, show_or_new_wiki_pages_path(:title => x.antecedent_name))}.join(", "))
html << ".</p>"
end
html.html_safe
end
def tag_post_count_style(tag)
@highest_post_count ||= Tag.highest_post_count
width_percent = Math.log([tag.post_count, 1].max, @highest_post_count) * 100

View File

@@ -5,33 +5,7 @@ module WikiPagesHelper
antecedent_implications = wiki_page.presenter.antecedent_tag_implications
consequent_implications = wiki_page.presenter.consequent_tag_implications
html = ""
if antecedent_alias
html << "<p class='hint'>This tag has been aliased to "
html << link_to(antecedent_alias.consequent_name, show_or_new_wiki_pages_path(:title => antecedent_alias.consequent_name))
html << ".</p>"
end
if consequent_aliases.any?
html << "<p class='hint'>The following tags are aliased to this tag: "
html << raw(consequent_aliases.map {|x| link_to(x.antecedent_name, show_or_new_wiki_pages_path(:title => x.antecedent_name))}.join(", "))
html << ".</p>"
end
if antecedent_implications.any?
html << "<p class='hint'>This tag implicates "
html << raw(antecedent_implications.map {|x| link_to(x.consequent_name, show_or_new_wiki_pages_path(:title => x.consequent_name))}.join(", "))
html << ".</p>"
end
if consequent_implications.any?
html << "<p class='hint'>The following tags implicate this tag: "
html << raw(consequent_implications.map {|x| link_to(x.antecedent_name, show_or_new_wiki_pages_path(:title => x.antecedent_name))}.join(", "))
html << ".</p>"
end
html.html_safe
alias_and_implication_list(antecedent_alias, consequent_aliases, antecedent_implications, consequent_implications)
end
def wiki_page_post_previews(wiki_page)

View File

@@ -92,7 +92,7 @@ class ForumPost < ActiveRecord::Base
end
def validate_topic_is_unlocked
return if CurrentUser.user.is_moderator?
return if CurrentUser.is_moderator?
return if topic.nil?
if topic.is_locked?

View File

@@ -86,7 +86,10 @@ class TagAlias < ActiveRecord::Base
clear_all_cache
ensure_category_consistency
update_posts
update_forum_topic_for_approve if update_topic
admin = CurrentUser.user || User.admins.first
CurrentUser.scoped(admin, "127.0.0.1") do
update_forum_topic_for_approve if update_topic
end
update_column(:post_count, consequent_tag.post_count)
update_column(:status, "active")
rescue Exception => e

View File

@@ -37,6 +37,8 @@
<% end %>
</ul>
<%= artist_alias_and_implication_list(post_set.artist) %>
<p><%= link_to "View artist", artist_path(post_set.artist.id) %></p>
</div>
<% elsif post_set.has_wiki? %>