_table.html.erb 3.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <div class='table-responsive'>
  2. <table class='table table-striped'>
  3. <tr>
  4. <th><%= sortable_column 'name', 'asc' %></th>
  5. <th><%= sortable_column 'created_at', 'desc', name: 'Age' %></th>
  6. <th>Schedule</th>
  7. <th><%= sortable_column 'last_check_at', name: 'Last Check' %></th>
  8. <th><%= sortable_column 'last_event_at', name: 'Last Event Out' %></th>
  9. <th><%= sortable_column 'last_receive_at', name: 'Last Event In' %></th>
  10. <th>Events Created</th>
  11. <th>Working?</th>
  12. <th></th>
  13. </tr>
  14. <% @agents.each do |agent| %>
  15. <tr>
  16. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  17. <%= link_to agent.name, agent_path(agent, return: (defined?(return_to) && return_to) || request.path) %>
  18. <br/>
  19. <span class='text-muted'><%= agent.short_type.titleize %></span>
  20. <% if agent.scenarios.present? %>
  21. <span>
  22. <%= scenario_links(agent) %>
  23. </span>
  24. <% end %>
  25. </td>
  26. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  27. <%= time_ago_in_words agent.created_at %>
  28. </td>
  29. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  30. <% if agent.can_be_scheduled? %>
  31. <%= agent_schedule(agent, ',<br/>') %>
  32. <% else %>
  33. <span class='not-applicable'></span>
  34. <% end %>
  35. </td>
  36. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  37. <% if agent.can_be_scheduled? %>
  38. <%= agent.last_check_at ? time_ago_in_words(agent.last_check_at) + " ago" : "never" %>
  39. <% else %>
  40. <span class='not-applicable'></span>
  41. <% end %>
  42. </td>
  43. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  44. <% if agent.can_create_events? %>
  45. <%= agent.last_event_at ? time_ago_in_words(agent.last_event_at) + " ago" : "never" %>
  46. <% else %>
  47. <span class='not-applicable'></span>
  48. <% end %>
  49. </td>
  50. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  51. <% if agent.can_receive_events? %>
  52. <%= agent.last_receive_at ? time_ago_in_words(agent.last_receive_at) + " ago" : "never" %>
  53. <% else %>
  54. <span class='not-applicable'></span>
  55. <% end %>
  56. </td>
  57. <td class='<%= "agent-unavailable" if agent.unavailable? %>'>
  58. <% if agent.can_create_events? %>
  59. <%= link_to(agent.events_count || 0, agent_events_path(agent, return: (defined?(return_to) && return_to) || request.path)) %>
  60. <% else %>
  61. <span class='not-applicable'></span>
  62. <% end %>
  63. </td>
  64. <td><%= working(agent) %></td>
  65. <td>
  66. <div class="btn-group">
  67. <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
  68. <span class="glyphicon glyphicon-th-list"></span> Actions <span class="caret"></span>
  69. </button>
  70. <%= render 'agents/action_menu', agent: agent, return_to: (defined?(return_to) && return_to) || request.path %>
  71. </div>
  72. </td>
  73. </tr>
  74. <% end %>
  75. </table>
  76. </div>
  77. <%= paginate @agents, :theme => 'twitter-bootstrap-3' %>