sleepepi/sleepportal

View on GitHub
app/views/sources/_info.html.erb

Summary

Maintainability
Test Coverage
<h3 style="margin-top:0px">
  <%= @source.name %>
  <% if @search and @search.sources.include?(@source) %>
    <% query_source = @search.query_sources.find_by_source_id(@source.id) %>
    <%= link_to "Remove from Search", query_source_path(query_source, search_id: @search.id), method: :delete, remote: true, class: 'btn btn-danger-inverse' %>
  <% else %>
    <%= link_to "Add to Search", query_sources_path(search_id: @search.id, query_source: { source_id: @source.id } ), method: :post, remote: true, title: @source.name, class: 'btn btn-success' if @search %>
  <% end %>
</h3>

<%= simple_markdown @source.description %>

<hr class="soften" style="margin: 20px 0px">

<% if @source.user_has_action?(current_user, "view data source general information") or @source.user_has_action?(current_user, "get count") %>
  <h4>Summary Counts</h4>
  <ul>
    <li><%= pluralize @source.mappings.size, 'Mapped Variable' %></li>
  </ul>

  <% if @source.all_dictionaries.size > 0 %>
    <h4>Associated Dictionaries</h4>
    <ul>
      <% @source.all_dictionaries.sort{|a,b| a.name <=> b.name}.each do |dictionary| %>
        <li><%= link_to dictionary.name, dictionary_variables_path(dictionary), target: '_blank' %></li>
      <% end %>
    </ul>
  <% end %>

  <% if @source.file_types.size > 0 %>
    <h4>Available File Types</h4>
    <ul>
      <% @source.file_types.each do |file_type| %>
        <li><%= file_type.name_and_short_extension %></li>
      <% end %>
    </ul>
  <% end %>

  <% if @source.all_linked_sources.size > 0 %>
    <h4>Cross-Linked Data Sources</h4>
    <ul>
      <% @source.all_linked_sources.sort{|a,b| a.name <=> b.name}.each do |linked_source| %>
        <li><%= link_to linked_source.name, source_path(linked_source, popup: true, search_id: @search.id), remote: true, method: :get %></li>
      <% end %>
    </ul>
  <% end %>
<% end %>

<h4>Data Source Rules</h4>
<% Rule::ACTION_GROUPS.each_with_index do |(rule_group, rules), index| %>
  <ul style="list-style-type: none;margin-left: 0px;">
    <li>
      <b><%= rule_group %></b>
      <ul style="list-style-type: none;">
        <% rules.each do |action| %>
          <li class="<%= 'muted' unless @source.user_has_action?(current_user, action) %>"><%= simple_check @source.user_has_action?(current_user, action) %> <%= action %></li>
        <% end %>
      </ul>
    </li>
  </ul>
<% end %>