post/comment/forum votes: add vote counts to profile pages.

* Add post/comment/forum vote counts to user profiles.
* Show uploaders on post votes index and allow searching by uploader.
* Show forum posters on forum votes index and allow searching by poster.
* Add unvote link to forum votes index.
* Only show unvote links to current user.
This commit is contained in:
evazion
2019-10-28 14:34:56 -05:00
parent d3165f78aa
commit fd4a9d4d30
7 changed files with 48 additions and 14 deletions

View File

@@ -1,7 +1,7 @@
<div id="c-post-votes">
<div id="a-index">
<%= search_form_for(post_votes_path) do |f| %>
<%= f.input :user_name, label: "User", input_html: { value: params[:search][:user_name], "data-autocomplete": "user" } %>
<%= f.input :user_name, label: "Voter", input_html: { value: params[:search][:user_name], "data-autocomplete": "user" } %>
<%= f.input :post_id, label: "Post", input_html: { value: params[:search][:post_id] } %>
<%= f.input :post_tags_match, label: "Tags", input_html: { value: params[:search][:post_tags_match], "data-autocomplete": "tag-query" } %>
<%= f.input :score, collection: [["+3", "3"], ["+1", "1"], ["-1", "-1"], ["-3", "-3"]], include_blank: true, selected: params[:search][:score] %>
@@ -14,7 +14,8 @@
<th>Post</th>
<th>Tags</th>
<th>Score</th>
<th>Created</th>
<th>Uploader</th>
<th>Voter</th>
<th></th>
</tr>
</thead>
@@ -28,13 +29,20 @@
<%= TagSetPresenter.new(vote.post.tag_array).inline_tag_list_html %>
</td>
<td><%= link_to sprintf("%+d", vote.score), post_votes_path(search: { score: vote.score }) %></td>
<td>
<%= link_to_user vote.post.uploader %>
<%= link_to "»", post_votes_path(search: { post_tags_match: "user:#{vote.post.uploader.name}" }) %>
<div><%= time_ago_in_words_tagged(vote.post.created_at) %></div>
</td>
<td>
<%= link_to_user vote.user %>
<%= link_to "»", post_votes_path(search: { user_name: vote.user.name }) %>
<div><%= time_ago_in_words_tagged(vote.created_at) %></div>
</td>
<td>
<%= link_to "undo", post_post_votes_path(vote.post), remote: true, method: :delete %>
<% if vote.user == CurrentUser.user %>
<%= link_to "unvote", post_post_votes_path(vote.post), remote: true, method: :delete %>
<% end %>
</td>
</tr>
<% end %>