sanger/limber

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

Summary

Maintainability
Test Coverage
<%= content do %>
  <h1>Work In Progress - Pipeline "<%= @pipeline_group_name -%>"</h1>

  <!-- filters - reload the page with a new param -->
  <%= link_to 'All time', pipeline_work_in_progress_path(id: @pipeline_group_name, date: Date.new(1970,1,1)), method: :get, class: "filter-button" %>
  <%= link_to 'Last month', pipeline_work_in_progress_path(id: @pipeline_group_name, date: Date.today.prev_month), method: :get, class: "filter-button" %>

  <!-- one column per purpose, containing cards for each plate / tube -->
  <div class="row">
    <% @ordered_purpose_list.each do |purpose_group| %>
      <div class="col-md">
        <!-- card for the column, with purpose name -->
        <%= card title: "#{purpose_group} (#{@grouped[purpose_group].size})" do %>
          <% @grouped[purpose_group].each do |labware_data| %>
            <% labware = labware_data[:record] %>

            <!-- plate / tube card -->
            <%= card do %>
              <%= link_to "#{labware.labware_barcode&.human}", url_for(labware) %><br/>
              <%= labware.input_barcode %><br/>
              <%= labware_data[:state] %><br/>
              <%= "updated #{labware.updated_at.strftime("%d/%m/%y")}" %>
            <% end %>
          <% end %>
        <% end %>
      </div>
    <% end %>
  </div>
<% end %>