app/views/sources/_info.html.erb
<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 %>