sanger/sequencescape

View on GitHub
app/views/receptacles/show.html.erb

Summary

Maintainability
Test Coverage

<%- add :about, "This page displays details of a asset" %>

<% if can? :close, @asset %>
  <% if @asset.closed? %>
    <% add :menu, { "Open" => close_receptacle_path(@asset) },  { confirm: "Do you really want to open this #{@asset.label}?" }  -%>
  <% else %>
    <% add :menu, {  "Close" => close_receptacle_path(@asset) }, { confirm: "Do you really want to close this #{@asset.label}?" } -%>
  <% end %>
<% end %>

<% add :menu, (pluralize @asset.total_comment_count, "comment") => receptacle_comments_path(@asset) -%>
<% if @asset.printable? %>
  <% add :menu, "Print label" => print_labware_path(@asset.labware) -%>
<% end %>

<% add :menu, "Event history" => history_receptacle_path(@asset) -%>

<% add(:menu, 'Request additional sequencing' => new_request_receptacle_path_in_context(@asset)) if current_user_can_request_additional_sequencing_on?(@asset) -%>
<% add(:menu, 'Request a new library' => new_request_receptacle_path_in_context(@asset)) if current_user_can_request_additional_library_on?(@asset) -%>

<% if can? :edit, @asset %>
  <% add :menu, "Edit" => edit_receptacle_path(@asset) -%>
<% end %>

<% @asset.related_studies.each do |study| %>
  <% add :menu, "Back to study #{study.name}" => study_path(study) -%>
<% end %>

<%= page_title('Receptacle',@asset.display_name) %>

<div class="row">
  <%= render partial: 'asset_summary', locals: {asset: @asset} %>
  <nav class="toc">
    <ul>
      <li><a href="#asset-summary">Summary</a></li>
      <li><a href="#samples-table">Samples</a></li>
      <li><a href="#requests-table-container">Requests</a></li>
      <li><a href="#metadata-table-container">Metadata</a></li>
      <li><a href="#relations-table-container">Parents and Children</a></li>
      <li><a href="#qc_files-table-container">QC Files</a></li>
    </ul>
  </nav>
</div>
<%= render partial: 'samples', locals: {asset: @asset} %>
<%= render partial: 'requests', locals: { asset: @asset } %>

<% if @asset.labware.present? %>
  <h3>Labware information</h3>
  <%= render partial: 'labware/metadata', locals: {asset: @asset.labware} if @asset.labware.respond_to?(:custom_metadatum_collection) %>
  <%= render partial: 'labware/relations', locals: { asset: @asset.labware } %>
  <%= render partial: 'labware/qc_files', locals: {asset: @asset.labware} %>
<% end %>