Prevent authors or users that already scored from scoring related content
This commit is contained in:
@@ -28,6 +28,11 @@ class RelatedContent < ActiveRecord::Base
|
||||
hide_with_opposite if (related_content_scores.sum(:value) / self.related_content_scores_count) < RELATED_CONTENT_SCORE_THRESHOLD
|
||||
end
|
||||
|
||||
def scored_by_user?(user)
|
||||
related_content_scores.where(user: user).count > 0
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def hide_with_opposite
|
||||
@@ -36,7 +41,8 @@ class RelatedContent < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def create_opposite_related_content
|
||||
related_content = RelatedContent.create!(opposite_related_content: self, parent_relationable: child_relationable, child_relationable: parent_relationable)
|
||||
related_content = RelatedContent.create!(opposite_related_content: self, parent_relationable: child_relationable,
|
||||
child_relationable: parent_relationable, author: author)
|
||||
self.opposite_related_content = related_content
|
||||
end
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<ul class="related-content-list" id="related-content-list">
|
||||
<% @related_contents.each do |related| %>
|
||||
<li id="related-content-<%= related.find_related_content(relationable).id %>">
|
||||
<% if current_user %>
|
||||
<% related_content = related.find_related_content(relationable) %>
|
||||
<% if current_user && related_content.author != current_user && !related_content.scored_by_user?(current_user)%>
|
||||
<span id="<%= dom_id(related.find_related_content(relationable)) %>" class="js-score-actions score-actions">
|
||||
<%= render 'relationable/score', related: related.find_related_content(relationable) %>
|
||||
<%= render 'relationable/score', related: related_content %>
|
||||
</span>
|
||||
<% end %>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user