Update Agent Index to hide impossible fields.

Andrew Cantino 11 years ago
parent
commit
a0484f9153
3 changed files with 61 additions and 38 deletions
  1. 5 0
      app/assets/stylesheets/application.css.scss.erb
  2. 1 1
      app/models/agent.rb
  3. 55 37
      app/views/agents/index.html.erb

+ 5 - 0
app/assets/stylesheets/application.css.scss.erb

@@ -86,6 +86,11 @@ img.spinner {
86 86
   overflow: hidden;
87 87
 }
88 88
 
89
+span.not-applicable:after {
90
+  color: #bbbbbb;
91
+  content: "n/a";
92
+}
93
+
89 94
 // Flash
90 95
 
91 96
 .flash {

+ 1 - 1
app/models/agent.rb

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

+ 55 - 37
app/views/agents/index.html.erb

@@ -8,53 +8,71 @@
8 8
       <table class='table table-striped'>
9 9
         <tr>
10 10
           <th>Name</th>
11
+          <th>Schedule</th>
11 12
           <th>Last Check</th>
12 13
           <th>Last Event Out</th>
13 14
           <th>Last Event In</th>
14
-          <th>Events</th>
15
-          <th>Schedule</th>
15
+          <th>Events Created</th>
16 16
           <th>Working?</th>
17 17
           <th></th>
18 18
         </tr>
19 19
 
20 20
         <% @agents.each do |agent| %>
21
-            <tr>
22
-              <td>
23
-                <%= agent.name %>
24
-                <br/>
25
-                <span class='muted'><%= agent.short_type.titleize %></span>
26
-              </td>
27
-              <td>
28
-                <% if agent.cannot_be_scheduled? %>
29
-                    N/A
30
-                <% else %>
31
-                    <%= agent.last_check_at ? time_ago_in_words(agent.last_check_at) + " ago" : "never" %>
32
-                <% end %>
33
-              </td>
34
-              <td><%= agent.last_event_at ? time_ago_in_words(agent.last_event_at) + " ago" : "never" %></td>
35
-              <td>
36
-                <% if agent.cannot_receive_events? %>
37
-                    N/A
21
+          <tr>
22
+            <td>
23
+              <%= agent.name %>
24
+              <br/>
25
+              <span class='muted'><%= agent.short_type.titleize %></span>
26
+            </td>
27
+            <td>
28
+              <% if agent.can_be_scheduled? %>
29
+                <%= agent.schedule.to_s.humanize.titleize %>
30
+              <% else %>
31
+                <span class='not-applicable'></span>
32
+              <% end %>
33
+            </td>
34
+            <td>
35
+              <% if agent.can_be_scheduled? %>
36
+                <%= agent.last_check_at ? time_ago_in_words(agent.last_check_at) + " ago" : "never" %>
37
+              <% else %>
38
+                <span class='not-applicable'></span>
39
+              <% end %>
40
+            </td>
41
+            <td>
42
+              <% if agent.can_create_events? %>
43
+                <%= agent.last_event_at ? time_ago_in_words(agent.last_event_at) + " ago" : "never" %>
44
+              <% else %>
45
+                <span class='not-applicable'></span>
46
+              <% end %>
47
+            </td>
48
+            <td>
49
+              <% if agent.can_receive_events? %>
50
+                <%= agent.last_receive_at ? time_ago_in_words(agent.last_receive_at) + " ago" : "never" %>
51
+              <% else %>
52
+                <span class='not-applicable'></span>
53
+              <% end %>
54
+            </td>
55
+            <td>
56
+              <% if agent.can_create_events? %>
57
+                <%= link_to(agent.events_count || 0, events_path(:agent => agent.to_param)) %>
58
+              <% else %>
59
+                <span class='not-applicable'></span>
60
+              <% end %>
61
+            </td>
62
+            <td><%= working(agent) %></td>
63
+            <td>
64
+              <div class="btn-group">
65
+                <%= link_to 'Show', agent_path(agent), class: "btn btn-mini" %>
66
+                <%= link_to 'Edit', edit_agent_path(agent), class: "btn btn-mini" %>
67
+                <%= link_to 'Delete', agent_path(agent), method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-mini" %>
68
+                <% if agent.can_be_scheduled? %>
69
+                  <%= link_to 'Run', run_agent_path(agent, :return => "index"), method: :post, class: "btn btn-mini" %>
38 70
                 <% else %>
39
-                    <%= agent.last_receive_at ? time_ago_in_words(agent.last_receive_at) + " ago" : "never" %>
71
+                  <%= link_to 'Run', "#", class: "btn btn-mini disabled" %>
40 72
                 <% end %>
41
-              </td>
42
-              <td><%= link_to(agent.events_count || 0, events_path(:agent => agent.to_param)) %></td>
43
-              <td><%= (agent.schedule || "n/a").to_s.humanize.titleize %></td>
44
-              <td><%= working(agent) %></td>
45
-              <td>
46
-                <div class="btn-group">
47
-                  <%= link_to 'Show', agent_path(agent), class: "btn btn-mini" %>
48
-                  <%= link_to 'Edit', edit_agent_path(agent), class: "btn btn-mini" %>
49
-                  <%= link_to 'Delete', agent_path(agent), method: :delete, data: {confirm: 'Are you sure?'}, class: "btn btn-mini" %>
50
-                  <% if agent.can_be_scheduled? %>
51
-                      <%= link_to 'Run', run_agent_path(agent, :return => "index"), method: :post, class: "btn btn-mini" %>
52
-                  <% else %>
53
-                      <%= link_to 'Run', "#", class: "btn btn-mini disabled" %>
54
-                  <% end %>
55
-                </div>
56
-              </td>
57
-            </tr>
73
+              </div>
74
+            </td>
75
+          </tr>
58 76
         <% end %>
59 77
       </table>
60 78