sanger/sequencescape

View on GitHub
app/views/requests/index.html.erb

Summary

Maintainability
Test Coverage

<% if @study.present?  %>
  <% add :back_menu, I18n.t("navigation.menu.back_to_study") => study_path(@study) -%>
<% elsif @requests.size > 1 && ! @requests.first.asset.try(:study).nil?  %>
  <% add :back_menu, I18n.t("navigation.menu.back_to_study") => study_path(@requests.first.study) -%>
<% end %>

<%= page_title @request_type&.name || 'Requests', @subtitle %><%= badge(params[:state]) %>
<% if params[:attempt] %>
  <%= pluralize params[:attempt], 'attempt' %>
<% end %>

<%= pagination @requests %>

<% if @requests.empty? -%>
  <%= display_user_guide("There are no requests ") %>
<% else -%>
  <table class="sortable">
    <thead>
      <tr>
        <th>Source asset</th>
        <th>Latest activity</th>
        <th>Request ID</th>
        <th>Request type</th>
        <th>User</th>
        <th>Study</th>
        <th>Date Created</th>
        <th>Status</th>
      </tr>
    </thead>
    <tbody>
      <% @requests.each do |request| -%>
        <tr>
          <td>
            <% if request.asset %>
              <%= link_to "#{request.asset.label} #{request.asset.try(:human_barcode)||request.asset.id}", receptacle_path(request.asset) %>
            <% end %>
          </td>

          <td>
            <% summary = UiHelper::Summary.new(); summary.load_request(request); summary_item = summary.summaries.first %>
            <% if summary_item %>
                <%= link_to(summary_item.message, summary_item.external_link.to_s) %>
            <% end %>
          </td>
          <td><%= link_to request.id, request_path(request) %></td>
          <td><%= request.request_type.name unless request.request_type.nil? %></td>
          <td><%= request.user.login unless request.user.blank? %></td>
          <td><%= link_to(request.initial_study.name, study_path(request.initial_study)) if request.initial_study %></td>
          <td><%= request.created_at.to_formatted_s(:sortable) %></td>
          <td><%= badge(request.state) %></td>
        </tr>
      <% end -%>
    </tbody>
  </table>
<% end -%>
<br />

<%= pagination @requests %>