252 lines
7.8 KiB
Plaintext
252 lines
7.8 KiB
Plaintext
<div class="box wide">
|
|
<div class="legend">
|
|
<% if !@showing_user.is_active? %>
|
|
<span class="inactive_user">
|
|
<% elsif @showing_user.is_new? %>
|
|
<span class="new_user">
|
|
<% else %>
|
|
<span>
|
|
<% end %>
|
|
<%= @showing_user.username %>
|
|
</span>
|
|
|
|
<% if @user && @showing_user.is_active? %>
|
|
(<a href="/messages?to=<%= @showing_user.username %>">Send a Message</a>)
|
|
<% end %>
|
|
</div>
|
|
|
|
<% if @showing_user.is_active? %>
|
|
<div id="gravatar">
|
|
<%= avatar_img(@showing_user, 100) %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<label class="required">Status:</label>
|
|
<span class="d"
|
|
<%= @showing_user.is_banned? ? raw("style=\"color: red;\"") : "" %>>
|
|
<% if @showing_user.is_banned? %>
|
|
Banned user
|
|
<% elsif !@showing_user.is_active? %>
|
|
Inactive user
|
|
<% else %>
|
|
Active
|
|
<%= @showing_user.is_admin? ? "administrator" :
|
|
(@showing_user.is_moderator? ? "moderator" : "user") %>
|
|
<% if !@showing_user.can_invite? %>
|
|
with invites
|
|
<% if !@showing_user.can_submit_stories? %>
|
|
and story submissions
|
|
<% end %>
|
|
disabled
|
|
<% end %>
|
|
<% end %>
|
|
</span>
|
|
<br>
|
|
|
|
<label class="required">Joined:</label>
|
|
<span class="d">
|
|
<%= time_ago_in_words_label(@showing_user.created_at) %>
|
|
<% if @showing_user.invited_by_user %>
|
|
by <a href="/u#<%= @showing_user.username %>">invitation</a> from
|
|
<%= link_to @showing_user.invited_by_user.try(:username),
|
|
@showing_user.invited_by_user %>
|
|
<% end %>
|
|
</span>
|
|
<br>
|
|
|
|
<% if @showing_user.is_banned? %>
|
|
<label class="required">Banned:</label>
|
|
<span class="d">
|
|
<%= time_ago_in_words_label(@showing_user.banned_at) %>
|
|
<% if @showing_user.banned_by_user %>
|
|
by <%= link_to @showing_user.banned_by_user.try(:username),
|
|
@showing_user.banned_by_user %>:
|
|
<em><%= @showing_user.banned_reason %></em>
|
|
<% end %>
|
|
</span>
|
|
<br>
|
|
<% end %>
|
|
|
|
<% if @showing_user.deleted_at? %>
|
|
<label class="required">Left:</label>
|
|
<span class="d">
|
|
<%= time_ago_in_words_label(@showing_user.deleted_at) %>
|
|
</span>
|
|
<br>
|
|
<% end %>
|
|
|
|
<% if !@showing_user.is_admin? %>
|
|
<label class="required">Karma:</label>
|
|
<span class="d">
|
|
<%= @showing_user.karma %>, averaging <%=
|
|
number_with_precision(@showing_user.average_karma, :precision => 2) %>
|
|
per story/comment
|
|
</span>
|
|
<br>
|
|
<% end %>
|
|
|
|
<label class="required">Stories Submitted:</label>
|
|
<span class="d">
|
|
<%= stories_submitted_content(@showing_user) %>
|
|
</span>
|
|
<br>
|
|
|
|
<label class="required">Comments Posted:</label>
|
|
<span class="d"><%= comments_posted_content(@showing_user) %></span>
|
|
<br>
|
|
|
|
<% if @showing_user.hats.any? %>
|
|
<label class="required">Hats:</label>
|
|
<div class="d">
|
|
<% @showing_user.hats.each do |hat| %>
|
|
<%= hat.to_html_label %>
|
|
<% if hat.doffed_at? %>
|
|
doffed <%= time_ago_in_words_label(hat.doffed_at) %>
|
|
<% end %>
|
|
<br>
|
|
<% end %>
|
|
</div>
|
|
<div style="clear: both;"></div>
|
|
<% end %>
|
|
|
|
<% if @showing_user.github_username.present? %>
|
|
<label class="required">GitHub:</label>
|
|
|
|
<span class="d">
|
|
<a href="https://github.com/<%= h(@showing_user.github_username) %>"
|
|
rel="nofollow">https://github.com/<%= h(@showing_user.github_username)
|
|
%></a>
|
|
</span>
|
|
<br>
|
|
<% end %>
|
|
|
|
<% if @showing_user.twitter_username.present? %>
|
|
<label class="required">Twitter:</label>
|
|
|
|
<span class="d">
|
|
<a href="https://twitter.com/<%= h(@showing_user.twitter_username) %>"
|
|
rel="nofollow">@<%= h(@showing_user.twitter_username) %></a>
|
|
</span>
|
|
<br>
|
|
<% end %>
|
|
|
|
<% if @showing_user.is_active? %>
|
|
<label class="required">About:</label>
|
|
|
|
<div class="d shorten_first_p">
|
|
<% if @showing_user.about.present? %>
|
|
<%= raw @showing_user.linkified_about %>
|
|
<% else %>
|
|
<span class="na">A mystery...</span>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if @user && @user.is_moderator? && !@showing_user.is_moderator? %>
|
|
<h2>Moderator Information</h2>
|
|
|
|
<label class="required">Downvoted (1m):</label>
|
|
<span class="d">
|
|
<% if (stats = DownvotedCommenters.new('1m').check_list_for(@showing_user)) %>
|
|
<a href="/mod/commenters/1m<%= @showing_user.username %>">#<%= stats[:rank] %></a> at <%= '%.2f' % stats[:sigma] %> σ
|
|
<% else %>
|
|
No
|
|
<% end %>
|
|
</span>
|
|
<br>
|
|
|
|
<label class="required">Self Promoter:</label>
|
|
<span class="d">
|
|
<% if @showing_user.is_heavy_self_promoter? %>
|
|
<strong>Yes</strong>
|
|
<% else %>
|
|
No
|
|
<% end %>
|
|
</span>
|
|
<br>
|
|
|
|
<label class="required">Last 10 Notes:</label>
|
|
<%= render partial: 'mod_notes/table', locals: {
|
|
mod_notes: ModNote.for(@showing_user).limit(10),
|
|
} %>
|
|
<%= form_with model: @mod_note, method: :post do |f| %>
|
|
<%= error_messages_for @mod_note %>
|
|
<%= f.hidden_field :username %>
|
|
<div class="boxline">
|
|
<%= f.label :note, "New Note:", :class => "required" %>
|
|
<%= f.text_area :note, :style => "width: 500px;", :rows => 5 %>
|
|
</div>
|
|
<div class="boxline"><p></p><%= f.submit "ModNote" %></div>
|
|
<% end %>
|
|
|
|
<label class="required">Last 10 Moderations:</label>
|
|
<%= render partial: 'moderations/table', locals: {
|
|
moderations: Moderation.for(@showing_user).order('id desc').limit(10),
|
|
} %>
|
|
|
|
|
|
<% if @user.is_admin? %>
|
|
<h3>Admin Information</h3>
|
|
|
|
<label class="required">E-Mail:</label>
|
|
<span class="d">
|
|
<%= @showing_user.email %>
|
|
</span>
|
|
<br>
|
|
|
|
<label class="required">Recent Votes:</label>
|
|
<table class="data zebra clear tall">
|
|
<% @showing_user.votes_for_others.limit(15).each do |v| %><tr>
|
|
<td><%= v.vote == 1 ? '+' : v.reason %></td>
|
|
<% if v.comment_id %>
|
|
<td><a href="/u/<%= v.comment.user.try(:username) %>"><%= v.comment.user.try(:username) %></a></td>
|
|
<td>
|
|
<%= v.story.title %>
|
|
<a href="<%= v.comment.short_id_url %>">comment</a>:<br>
|
|
<%= v.comment.comment.split[0..10].join(' ') %>
|
|
</td>
|
|
<% elsif v.story_id && !v.comment_id %>
|
|
<td><a href="/u/<%= v.story.user.try(:username) %>"><%= v.story.user.try(:username) %></a></td>
|
|
<td><a href="<%= v.story.short_id_url %>"><%= v.story.title %></a></td>
|
|
<% end %>
|
|
</p>
|
|
</tr><% end %>
|
|
</table>
|
|
|
|
<% if @showing_user.is_banned? || @showing_user.banned_from_inviting? %>
|
|
<%= form_with url: user_unban_path, :method => :post do |f| %>
|
|
<p>
|
|
<% if @showing_user.is_banned? %>
|
|
<%= f.submit "Unban" %>
|
|
<% end %>
|
|
<% if @showing_user.banned_from_inviting? %>
|
|
<%= f.submit "Enable Invites", formaction: user_enable_invite_path %>
|
|
<% end %>
|
|
</p>
|
|
<% end %>
|
|
<% end %>
|
|
|
|
<% if !@showing_user.is_banned? || !@showing_user.banned_from_inviting? %>
|
|
<p>
|
|
Banning or disabling invites for a user will send an e-mail to the user with the reason below,
|
|
with your e-mail address as the Reply-To so the user can respond.
|
|
</p>
|
|
<%= form_with url: user_ban_path, :method => :post do |f| %>
|
|
<div class="boxline">
|
|
<%= f.label :reason, "Reason:", :class => "required" %>
|
|
<%= f.text_field :reason, :size => 40 %>
|
|
</div>
|
|
<p>
|
|
<% if !@showing_user.is_banned? %>
|
|
<%= f.submit "Ban", class: 'deletion' %>
|
|
<% end %>
|
|
<% if !@showing_user.banned_from_inviting? %>
|
|
<%= f.submit "Disable Invites", formaction: user_disable_invite_path %>
|
|
<% end %>
|
|
</p>
|
|
<% end %>
|
|
<% end %>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|