unepwcmc/SAPI

View on GitHub
app/views/admin/api_usage/show.html.erb

Summary

Maintainability
Test Coverage
<div class="row">
  <div class="span12">
    <div class="page-header">
      <h1>API Usage for <%= @user.name %></h1>
      <%= link_to '&#8592; Back to Overview'.html_safe, api_usage_overview_path %>
    </div>

    <div class="page-header">
      <h4>About this User</h4>
    </div>

    <table class="table table-striped">
      <tr>
        <td><span class="text-info">Email:</span></td>
        <td><%= @user.email %></td>
      </tr>
      <tr>
        <td><span class="text-info">Organisation:</span></td>
        <td><%= @user.try(:organisation) %></td>
      </tr>
      <tr>
        <td><span class="text-info">Country:</span></td>
        <td><%= @user.try(:geo_entity).try(:name_en) %></td>
      </tr>
      <tr>
        <td><span class="text-info">Role:</span></td>
        <td><%= @user.role %></td>
      </tr>
      <tr>
        <td><span class="text-info">Total Successful Requests:</span></td>
        <td><%= number_with_delimiter @user.api_requests.where(response_status: 200).count, delimiter: ',' %></td>
      </tr>
      <tr>
        <td><span class="text-info">Total Failed Requests (to date):</span></td>
        <td><%= number_with_delimiter @user.api_requests.where(response_status: 500).count, delimiter: ',' %></td>
      </tr>
      <tr>
        <td><span class="text-info">Date Joined:</span></td>
        <td><%= @user.created_at.to_s(:long) %></td>
      </tr>
    </table>
  </div>
</div>

<div class="row">
  <div class="span12">
    <div class="page-header">
      <h4>Last <%= ApiRequest::RECENT_MONTHS %> Months Requests by Response Status</h4>
    </div>

    <%= line_chart sanitise_hash_for_line_graph(@recent_requests),
      library: {
      title: 'Requests by HTTP Status',
      titlePosition: 'out',
      colors: ['#4AC948', '#EE3B3B']
      }
    %>
  </div>
</div>

<div class="row">
  <div class="span6">
    <div class="page-header">
      <h4>All Requests by Response Status</h4>
    </div>
    <%= pie_chart ApiRequest.requests_by_response_status(@user), library: { legend: 'left', colors: status_colours } %>
  </div>

  <div class="span6">
    <div class="page-header">
      <h4>All Requests by Endpoint</h4>
    </div>
    <%= pie_chart @user.api_requests.group(:controller).count, library: { legend: 'none' } %>
  </div>
</div>