app/views/users/index.html.erb
<% content_for :title do %>
<h1 class="project-banner space-below">
Users
<%= link_to "New User", new_user_path, :class => "btn btn-primary" if can?(:create, User) %>
<%= render partial: "projects/keyboard_shortcuts" %>
</h1>
<% end %>
<% if @users.any? %>
<div class="nomargin">
<table id="users" class="table table-sortable table-striped">
<thead>
<tr>
<td class="table-margin"></td>
<td class="user-avatar"></td>
<th class="user-name sort-desc">Name</th>
<th class="user-email">Email</th>
<th class="user-nickname">Nickname</th>
<th class="user-role">Role</th>
<td class="table-margin"></td>
</tr>
</thead>
<tbody>
<% @users.each do |user| %>
<tr id="user_<%= user.id %>">
<td class="table-margin"></td>
<td class="user-avatar"><%= avatar_for(user, size: 32) %></td>
<td class="user-name">
<%= link_to user_path(user) do %>
<span class="first-name"><%= user.first_name %></span>
<span class="last-name"><%= user.last_name %></span>
<% end %>
</td>
<td class="user-email"><%= mail_to user.email %></td>
<td class="user-email"><%= user.nickname %></td>
<td class="user-role"><%= user.role %></td>
<td class="table-margin"></td>
</tr>
<% end %>
</tbody>
</table>
</div>
<% else %>
<div class="alert alert-info">There are no team members yet. Click <b>New Team Member</b> to create one.</div>
<% end %>
<% content_for :javascripts do %>
<script type="text/javascript">
$.tablesorter.addParser({
id: 'name',
type: 'text',
is: function(s) { return false; }, // return false so this parser is not auto detected
format: function(s, table, td) {
var $td = $(td),
firstName = $td.find('.first-name').text(),
lastName = $td.find('.last-name').text();
return lastName + ' ' + firstName;
}
});
$(function() {
$('#users').tablesorter({
headers: { 2: { sorter: 'name' } }
});
});
</script>
<% end %>