app/views/admin/users/_list.html.erb
<table class="users list">
<tr>
<th>Name</th>
<th>Email</th>
<th>Can access</th>
<th>2FA</th>
<th>Last seen</th>
<th colspan="2"></th>
</tr>
<% @invites.each do |invite| %>
<tr class="invite">
<td></td>
<td>
<%= invite.email %>
</td>
<td>
<%= invite.roles.map(&:to_s).sort.to_sentence %>
</td>
<td></td>
<td>
<% if invite.sent_at? %>
Invited
<%= time_ago_in_words(invite.sent_at) %> ago
<% end %>
</td>
<td colspan="2">
<% if current_user.role?(:users) %>
<%= link_to("View invite",
admin_invite_with_token_url(invite, invite.token)) %> /
<%= link_to("Cancel invite",
[:admin, invite],
method: 'delete',
data: { confirm: "Are you sure?" },
class: 'delete') %>
<% end %>
</td>
</tr>
<% end %>
<% @users.each do |user| -%>
<tr class="user-<%= user.id %>">
<td class="name">
<%= link_to user.name, admin_user_url( user ) %>
</td>
<td>
<%= user.email %>
</td>
<td><%= user.roles.map(&:to_s).sort.to_sentence %></td>
<td><%= user.otp_enabled? ? "Enabled" : "" %></td>
<td>
<% if user.online? -%>
<strong>Online now</strong>
<% elsif user.last_login_at -%>
<%= time_ago_in_words( user.last_login_at ) %> ago
<% else %>
Not logged in yet
<% end -%>
</td>
<td class="note">
<%=
notes = []
notes << "Deactivated" unless user.activated?
notes.join( ", " )
%>
</td>
<td>
<% if policy(user).edit? %>
<%= link_to("Edit", edit_admin_user_url(user), class: :edit) %>
<% end %>
</td>
</tr>
<% end -%>
</table>