anyone-oslo/pages

View on GitHub
app/views/admin/users/_list.html.erb

Summary

Maintainability
Test Coverage
<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>