Files
nairobi/app/views/legislation/proposals/show.html.erb
Javi Martín 31b65679c3 Extract partial to render flag actions
The main obstacle to extract this partial was probably the paths for the
flag and unflag actions.

Now that we use Rails 5.1 `resolve` method to handle nested resources,
we can use `polymorphic_path`.

Also note the code is a bit ugly because comments render a divider. We
should probably use a CSS border instead.

Co-Authored-By: taitus <sebastia.roig@gmail.com>
2020-07-07 23:39:21 +02:00

135 lines
4.7 KiB
Plaintext

<% provide :title do %><%= @proposal.title %><% end %>
<% content_for :meta_description do %><%= @proposal.summary %><% end %>
<% provide :social_media_meta_tags do %>
<%= render "shared/social_media_meta_tags",
social_url: legislation_process_proposal_url(process_id: @process),
social_title: @proposal.title,
social_description: @proposal.summary %>
<% end %>
<% content_for :canonical do %>
<%= render "shared/canonical", href: legislation_process_proposal_url(process_id: @process) %>
<% end %>
<div class="row process-proposal">
<div class="small-12 column">
<div class="header">
<p class="process-title">
<strong><%= t("legislation.proposals.process_title") %></strong>
</p>
<%= link_to @process.title, @process, class: "process-link" %>
</div>
</div>
</div>
<% cache [locale_and_user_status(@proposal), @proposal, @proposal.author, Flag.flagged?(current_user, @proposal), @legislation_proposal_votes] do %>
<div class="proposal-show legislation-proposal-show">
<div id="<%= dom_id(@proposal) %>" class="row">
<div class="small-12 medium-9 column">
<%= back_link_to legislation_process_proposals_path(process_id: @process) %>
<h1><%= @proposal.title %></h1>
<% if @proposal.conflictive? %>
<div data-alert class="callout alert margin-top">
<strong><%= t("proposals.show.flag") %></strong>
</div>
<% end %>
<div class="proposal-info">
<%= render "/shared/author_info", resource: @proposal %>
<span class="bullet">&nbsp;&bull;&nbsp;</span>
<%= l @proposal.created_at.to_date %>
<span class="bullet">&nbsp;&bull;&nbsp;</span>
<span class="icon-comments"></span>&nbsp;
<%= link_to t("proposals.show.comments", count: @proposal.comments_count), "#comments" %>
<% if current_user %>
<span class="bullet">&nbsp;&bull;&nbsp;</span>
<span class="js-flag-actions">
<%= render "shared/flag_actions", flaggable: @proposal %>
</span>
<% end %>
</div>
<%= render_image(@proposal.image, :large, true) if @proposal.image.present? %>
<br>
<p>
<%= t("proposals.show.code") %>
<strong><%= @proposal.code %></strong>
</p>
<blockquote><%= @proposal.summary %></blockquote>
<% if @proposal.video_url.present? %>
<div class="small-12 medium-7 small-centered">
<div class="flex-video">
<div id="js-embedded-video" data-video-code="<%= embedded_video_code(@proposal) %>"></div>
</div>
</div>
<% end %>
<%= auto_link_already_sanitized_html wysiwyg(@proposal.description) %>
<% if @proposal.video_url.present? %>
<div class="video-link">
<p>
<span class="icon-video"></span>&nbsp;
<strong><%= t("proposals.show.title_video_url") %></strong>
</p>
<%= sanitize_and_auto_link @proposal.video_url %>
</div>
<% end %>
<% if feature?(:allow_attached_documents) %>
<%= render "documents/documents",
documents: @proposal.documents,
max_documents_allowed: Proposal.max_documents_allowed %>
<% end %>
<%= render "shared/tags", taggable: @proposal %>
<%= render "shared/geozone", geozonable: @proposal %>
<div class="js-moderator-proposal-actions margin">
<%= render "legislation/proposals/actions", proposal: @proposal %>
</div>
</div>
<aside class="small-12 medium-3 column">
<div class="sidebar-divider"></div>
<h2><%= t("votes.supports") %></h2>
<div id="<%= dom_id(@proposal) %>_votes">
<%= render "votes",
{ proposal: @proposal, vote_url: vote_legislation_process_proposal_path(@proposal.legislation_process_id, @proposal, value: "yes") } %>
</div>
<%= render "shared/social_share",
share_title: t("proposals.show.share"),
title: @proposal.title,
url: legislation_process_proposal_url(process_id: @process),
description: @proposal.summary,
mobile: @proposal.title
%>
</aside>
</div>
</div>
<% end %>
<div class="additional-content">
<div class="filter-subnav">
<div class="row">
<div class="small-12 column">
<%= render "legislation/proposals/filter_subnav" %>
</div>
</div>
</div>
</div>
<div class="tabs-content" data-tabs-content="legislation_proposals_tabs">
<div class="tabs-panel is-active" id="tab-comments">
<%= render "legislation/proposals/comments" %>
</div>
</div>