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
|
hide_with_opposite if (related_content_scores.sum(:value) / self.related_content_scores_count) < RELATED_CONTENT_SCORE_THRESHOLD
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def scored_by_user?(user)
|
||||||
|
related_content_scores.where(user: user).count > 0
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def hide_with_opposite
|
def hide_with_opposite
|
||||||
@@ -36,7 +41,8 @@ class RelatedContent < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def create_opposite_related_content
|
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
|
self.opposite_related_content = related_content
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
<ul class="related-content-list" id="related-content-list">
|
<ul class="related-content-list" id="related-content-list">
|
||||||
<% @related_contents.each do |related| %>
|
<% @related_contents.each do |related| %>
|
||||||
<li id="related-content-<%= related.find_related_content(relationable).id %>">
|
<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">
|
<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>
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user