allow more forum posts to be voted on (fixes #3677)

This commit is contained in:
Albert Yi
2018-04-27 16:18:18 -07:00
parent 06e7dbb8e4
commit d4b1782431
3 changed files with 19 additions and 1 deletions

View File

@@ -6,6 +6,8 @@ class ForumPost < ApplicationRecord
belongs_to_updater
belongs_to :topic, :class_name => "ForumTopic"
has_many :votes, class_name: "ForumPostVote"
has_one :tag_relationship
has_one :bulk_update_request
before_validation :initialize_is_deleted, :on => :create
after_create :update_topic_updated_at_on_create
after_update :update_topic_updated_at_on_update_for_original_posts
@@ -129,6 +131,11 @@ class ForumPost < ApplicationRecord
end
end
def votable?
# shortcut to eliminate posts that are probably not tag change requests
body.match(/->/) && (bulk_update_request.present? || tag_relationship.present?) && created_at >= TagRelationship::EXPIRY.days.ago
end
def voted?(user, score)
votes.where(creator_id: user.id, score: score).exists?
end

View File

@@ -44,7 +44,7 @@
<% else %>
<li><%= link_to "Permalink", forum_post_path(forum_post) %></li>
<% end %>
<% if forum_post.is_original_post?(original_forum_post_id) %>
<% if forum_post.votable? %>
<ul class="votes" id="forum-post-votes-for-<%= forum_post.id %>">
<%= render "forum_post_votes/list", votes: forum_post.votes, forum_post: forum_post %>
</ul>