mysociety/alaveteli

View on GitHub
app/views/request/_citations.html.erb

Summary

Maintainability
Test Coverage
<%# FIXME: Slightly messy logic, but can be cleaned up when we allow any user to
    add citations %>

<% if can? :create_citation, info_request %>
  <div class="sidebar__section citations">
    <h2><%= _('In the News') %></h2>

    <% if citations.any? %>
      <ul class="citations-list">
        <% citations.each do |citation| %>
          <li class="citations-list__citation">
            <%=
              MySociety::Format.make_clickable(
                citation.source_url, contract: true, nofollow: true
              ).html_safe
            %>
          </li>
        <% end %>
      </ul>

      <%= link_to new_citation_path(url_title: info_request.url_title),
            class: 'citations-new' do %>
        <%= _('New Citation') %>
      <% end %>
    <% else %>
      <p>
        <%= _('Has this request been referenced in a news article or ' \
              'academic paper?') %>
      </p>

      <%= link_to new_citation_path(url_title: info_request.url_title),
            class: 'citations-new' do %>
        <%= _('Let us know') %>
      <% end %>
    <% end %>
  </div>
<% elsif citations.any? %>
  <div class="sidebar__section citations">
    <h2><%= _('In the News') %></h2>

    <% if citations.any? %>
      <ul class="citations-list">
        <% citations.each do |citation| %>
          <li class="citations-list__citation">
            <%=
              MySociety::Format.make_clickable(
                citation.source_url, contract: true, nofollow: true
              ).html_safe
            %>
          </li>
        <% end %>
      </ul>
    <% end %>
  </div>
<% end %>