sanger/sequencescape

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

Summary

Maintainability
Test Coverage

<% add :about, "This page details a registered sample." -%>
<% add :menu, (pluralize @sample.comments.size, "comment") => sample_comments_path(@sample) -%>
<% add :menu, 'Event history' => history_sample_path(@sample) -%>

<% add :back_menu, "Back to STUDIES" => studies_path -%>

<% if can? :edit, @sample -%>
  <% add :menu, "Edit" => edit_sample_path(@sample) -%>
<% end %>
<% if can? :release, @sample %>
  <% add :menu, { "Flag for public release" => url_for({controller: "samples", action: "release", id: @sample.id }) }, { confirm: "Do you want to flag this sample for public release?" }   -%>
<% end %>
<% if can? :accession, @sample %>
  <% add :menu, { @sample.accession_number? ? "Update EBI Sample data" : "Generate Accession Number" => url_for({controller: 'samples', action: 'accession', id: @sample.id}) }, { confirm: "Do you want to request an accession for this sample?" }  -%>
<% end %>

<% if @sample.accession_number? %>
  <% add(:menu, "View data stored in ENA" => url_for(configatron.accession.view_url+@sample.ebi_accession_number)) -%>
<% end %>

<% @sample.studies.each do |study| %>
  <% add :menu, "Back to study #{study.name}" => study_path(study) -%>
  <% add :menu, "Back to samples for #{study.name}" => study_samples_path(study) -%>
<% end %>

<%= page_title "Sample Specification", @sample.sanger_sample_id %>

<% if @sample.consent_withdrawn? %>
  <%= alert(:danger) do %>
    <%= render partial: 'consent_withdrawn', locals: { sample: @sample } %>
  <% end %>
<% end %>

<div class="columnize">
  <%= render partial: 'summary', locals: { sample: @sample } %>
  <%= render partial: 'studies', locals: { sample: @sample, studies: @studies } %>
  <%= render partial: 'receptacles', locals: { sample: @sample } %>
  <%= render partial: 'asset_groups', locals: { sample: @sample } %>
  <%= render partial: 'submissions', locals: { sample: @sample } %>
</div>