Update Agent Index to hide impossible fields.

This commit is contained in:
Andrew Cantino 2013-09-01 17:32:25 -06:00
parent 700209155a
commit a0484f9153
3 changed files with 61 additions and 38 deletions

View file

@ -86,6 +86,11 @@ img.spinner {
overflow: hidden;
}
span.not-applicable:after {
color: #bbbbbb;
content: "n/a";
}
// Flash
.flash {

View file

@ -121,7 +121,7 @@ class Agent < ActiveRecord::Base
end
def last_event_at
@memoized_last_event_at ||= events.select(:created_at).first.try(:created_at)
@memoized_last_event_at ||= most_recent_event.try(:created_at)
end
def default_schedule

View file

@ -8,53 +8,71 @@
<table class='table table-striped'>
<tr>
<th>Name</th>
<th>Schedule</th>
<th>Last Check</th>
<th>Last Event Out</th>
<th>Last Event In</th>
<th>Events</th>
<th>Schedule</th>
<th>Events Created</th>
<th>Working?</th>
<th></th>
</tr>
<% @agents.each do |agent| %>
<tr>
<td>
<%= agent.name %>
<br/>
<span class='muted'><%= agent.short_type.titleize %></span>
</td>
<td>
<% if agent.cannot_be_scheduled? %>
N/A
<tr>
<td>
<%= agent.name %>
<br/>
<span class='muted'><%= agent.short_type.titleize %></span>
</td>
<td>
<% if agent.can_be_scheduled? %>
<%= agent.schedule.to_s.humanize.titleize %>
<% else %>
<span class='not-applicable'></span>
<% end %>
</td>
<td>
<% if agent.can_be_scheduled? %>
<%= agent.last_check_at ? time_ago_in_words(agent.last_check_at) + " ago" : "never" %>
<% else %>
<span class='not-applicable'></span>
<% end %>
</td>
<td>
<% if agent.can_create_events? %>
<%= agent.last_event_at ? time_ago_in_words(agent.last_event_at) + " ago" : "never" %>
<% else %>
<span class='not-applicable'></span>
<% end %>
</td>
<td>
<% if agent.can_receive_events? %>
<%= agent.last_receive_at ? time_ago_in_words(agent.last_receive_at) + " ago" : "never" %>
<% else %>
<span class='not-applicable'></span>
<% end %>
</td>
<td>
<% if agent.can_create_events? %>
<%= link_to(agent.events_count || 0, events_path(:agent => agent.to_param)) %>
<% else %>
<span class='not-applicable'></span>
<% end %>
</td>
<td><%= working(agent) %></td>
<td>
<div class="btn-group">
<%= link_to 'Show', agent_path(agent), class: "btn btn-mini" %>
<%= link_to 'Edit', edit_agent_path(agent), class: "btn btn-mini" %>
<%= link_to 'Delete', agent_path(agent), method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-mini" %>
<% if agent.can_be_scheduled? %>
<%= link_to 'Run', run_agent_path(agent, :return => "index"), method: :post, class: "btn btn-mini" %>
<% else %>
<%= agent.last_check_at ? time_ago_in_words(agent.last_check_at) + " ago" : "never" %>
<%= link_to 'Run', "#", class: "btn btn-mini disabled" %>
<% end %>
</td>
<td><%= agent.last_event_at ? time_ago_in_words(agent.last_event_at) + " ago" : "never" %></td>
<td>
<% if agent.cannot_receive_events? %>
N/A
<% else %>
<%= agent.last_receive_at ? time_ago_in_words(agent.last_receive_at) + " ago" : "never" %>
<% end %>
</td>
<td><%= link_to(agent.events_count || 0, events_path(:agent => agent.to_param)) %></td>
<td><%= (agent.schedule || "n/a").to_s.humanize.titleize %></td>
<td><%= working(agent) %></td>
<td>
<div class="btn-group">
<%= link_to 'Show', agent_path(agent), class: "btn btn-mini" %>
<%= link_to 'Edit', edit_agent_path(agent), class: "btn btn-mini" %>
<%= link_to 'Delete', agent_path(agent), method: :delete, data: {confirm: 'Are you sure?'}, class: "btn btn-mini" %>
<% if agent.can_be_scheduled? %>
<%= link_to 'Run', run_agent_path(agent, :return => "index"), method: :post, class: "btn btn-mini" %>
<% else %>
<%= link_to 'Run', "#", class: "btn btn-mini disabled" %>
<% end %>
</div>
</td>
</tr>
</div>
</td>
</tr>
<% end %>
</table>