show.html.erb 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <div class='container agent-show'>
  2. <div class='row'>
  3. <div class='span12'>
  4. <div class="tabbable tabs-left">
  5. <ul class="nav nav-tabs" id="show-tabs">
  6. <% if agent_show_view(@agent).present? %>
  7. <li class='active'><a href="#summary" data-toggle="tab"><i class='icon-picture'></i> Summary</a></li>
  8. <li><a href="#details" data-toggle="tab"><i class='icon-indent-left'></i> Details</a></li>
  9. <% else %>
  10. <li class='disabled'><a><i class='icon-picture'></i> Summary</a></li>
  11. <li class='active'><a href="#details" data-toggle="tab"><i class='icon-indent-left'></i> Details</a></li>
  12. <% end %>
  13. <li><a href="#logs" data-toggle="tab" data-agent-id="<%= @agent.id %>" class='<%= @agent.recent_error_logs? ? 'recent-errors' : '' %>'><i class='icon-list-alt'></i> Logs</a></li>
  14. <% if @agent.can_create_events? && @agent.events.count > 0 %>
  15. <li><%= link_to '<i class="icon-random"></i> Events'.html_safe, events_path(:agent => @agent.to_param) %></li>
  16. <% end %>
  17. <li><%= link_to '<i class="icon-chevron-left"></i> Back'.html_safe, agents_path %></li>
  18. <li><%= link_to '<i class="icon-pencil"></i> Edit'.html_safe, edit_agent_path(@agent) %></li>
  19. <li><%= link_to '<i class="icon-plus"></i> Clone'.html_safe, new_agent_path(id: @agent) %></li>
  20. <% if @agent.can_be_scheduled? || @agent.events.count > 0 %>
  21. <li class="dropdown">
  22. <a class="dropdown-toggle" data-toggle="dropdown" href="#">Actions <b class="caret"></b></a>
  23. <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
  24. <% if @agent.can_be_scheduled? %>
  25. <li>
  26. <%= link_to '<i class="icon-refresh"></i> Run'.html_safe, run_agent_path(@agent, :return => "show"), method: :post, :tabindex => "-1" %>
  27. </li>
  28. <% end %>
  29. <% if @agent.can_create_events? && @agent.events.count > 0 %>
  30. <li>
  31. <%= link_to '<i class="icon-trash"></i> Delete all events'.html_safe, remove_events_agent_path(@agent), method: :delete, data: {confirm: 'Are you sure you want to delete ALL events for this Agent?'}, :tabindex => "-1" %>
  32. </li>
  33. <% end %>
  34. </ul>
  35. </li>
  36. <% end %>
  37. </ul>
  38. <div class="tab-content">
  39. <div class="tab-pane <%= agent_show_view(@agent).present? ? "active" : "disabled" %>" id="summary">
  40. <h2><%= @agent.name %> Summary</h2>
  41. <% if agent_show_view(@agent).present? %>
  42. <div class="show-view <%= agent_show_class(@agent) %>">
  43. <%= render agent_show_view(@agent) %>
  44. </div>
  45. <% end %>
  46. </div>
  47. <div class="tab-pane" id="logs" data-agent-id="<%= @agent.id %>">
  48. <h2>
  49. <%= @agent.name %> Logs
  50. <%= image_tag "spinner-arrows.gif", :class => "spinner" %>
  51. <i class="icon-refresh action-icon refresh"></i>
  52. <i class="icon-trash action-icon clear"></i>
  53. </h2>
  54. <div class='logs'>
  55. Just a moment...
  56. </div>
  57. </div>
  58. <div class="tab-pane <%= agent_show_view(@agent).present? ? "" : "active" %>" id="details">
  59. <h2><%= @agent.name %> Details</h2>
  60. <p>
  61. <b>Type:</b>
  62. <%= @agent.short_type.titleize %>
  63. </p>
  64. <% if @agent.can_be_scheduled? %>
  65. <p>
  66. <b>Schedule:</b>
  67. <%= (@agent.schedule || "n/a").humanize.titleize %>
  68. </p>
  69. <p>
  70. <b>Last checked:</b>
  71. <%= @agent.last_check_at ? time_ago_in_words(@agent.last_check_at) + " ago" : "never" %>
  72. </p>
  73. <% end %>
  74. <% if @agent.can_create_events? %>
  75. <p>
  76. <b>Keep events:</b>
  77. <%= (Agent::EVENT_RETENTION_SCHEDULES.detect {|s| s.last == @agent.keep_events_for } || [@agent.keep_events_for]).first %>
  78. </p>
  79. <p>
  80. <b>Last event created:</b>
  81. <%= @agent.last_event_at ? time_ago_in_words(@agent.last_event_at) + " ago" : "never" %>
  82. </p>
  83. <% end %>
  84. <% if @agent.can_receive_events? %>
  85. <p>
  86. <b>Last received event:</b>
  87. <%= @agent.last_receive_at ? time_ago_in_words(@agent.last_receive_at) + " ago" : "never" %>
  88. </p>
  89. <% end %>
  90. <% if @agent.can_create_events? %>
  91. <p>
  92. <b>Events created:</b>
  93. <%= link_to @agent.events.count, events_path(:agent => @agent.to_param) %>
  94. </p>
  95. <% end %>
  96. <% if @agent.can_receive_events? %>
  97. <p>
  98. <b>Event sources:</b>
  99. <% if @agent.sources.length %>
  100. <%= @agent.sources.map { |source_agent| link_to(source_agent.name, agent_path(source_agent)) }.to_sentence.html_safe %>
  101. <% else %>
  102. None
  103. <% end %>
  104. </p>
  105. <% end %>
  106. <% if @agent.can_create_events? %>
  107. <p>
  108. <b>Event receivers:</b>
  109. <% if @agent.receivers.length %>
  110. <%= @agent.receivers.map { |receiver_agent| link_to(receiver_agent.name, agent_path(receiver_agent)) }.to_sentence.html_safe %>
  111. <% else %>
  112. None
  113. <% end %>
  114. </p>
  115. <% end %>
  116. <p>
  117. <b>Working:</b>
  118. <%= working @agent %>
  119. </p>
  120. <p>
  121. <b>Options:</b>
  122. <pre><%= Utils.pretty_jsonify @agent.options || {} %></pre>
  123. </p>
  124. <p>
  125. <b>Memory:</b>
  126. <pre><%= Utils.pretty_jsonify @agent.memory || {} %></pre>
  127. </p>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. </div>
  133. </div>