diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index 6ca305635..fa1dff0f4 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -23,6 +23,10 @@ class UserPolicy < ApplicationPolicy user.is_member? end + def can_see_last_logged_in_at? + user.is_moderator? + end + def can_see_favorites? user.is_admin? || record.id == user.id || !record.enable_private_favorites? end diff --git a/app/views/users/_statistics.html.erb b/app/views/users/_statistics.html.erb index 2a8ee6ec9..fe708c18c 100644 --- a/app/views/users/_statistics.html.erb +++ b/app/views/users/_statistics.html.erb @@ -11,6 +11,13 @@ <%= presenter.join_date %> + <% if policy(User).can_see_last_logged_in_at? %> + + Last Seen + <%= time_ago_in_words_tagged(user.last_logged_in_at) %> + + <% end %> + <% if policy(IpAddress).show? %> Last IP diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb index 625be9e6a..fde5ef637 100644 --- a/app/views/users/index.html.erb +++ b/app/views/users/index.html.erb @@ -32,6 +32,11 @@ <% t.column "Level" do |user| %> <%= user.level_string %> <% end %> + <% if policy(User).can_see_last_logged_in_at? %> + <% t.column "Last Seen" do |user| %> + <%= time_ago_in_words_tagged(user.last_logged_in_at) %> + <% end %> + <% end %> <% t.column "Joined" do |user| %> <%= compact_time user.created_at %> <% end %>