Show proposal info in admin
This commit is contained in:
@@ -284,10 +284,6 @@ $sidebar-active: #f4fcd0;
|
|||||||
.proposal-form {
|
.proposal-form {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.proposal-show {
|
|
||||||
padding-top: rem-calc(54);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.is-featured {
|
.is-featured {
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<% provide :title do %>
|
||||||
|
<%= t("admin.header.title") %> - <%= t("admin.menu.proposals") %> - <%= @proposal.title %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div class="proposal-show">
|
||||||
|
<h2><%= @proposal.title %></h2>
|
||||||
|
|
||||||
|
<%= render "proposals/info", proposal: @proposal %>
|
||||||
|
</div>
|
||||||
|
|||||||
84
app/views/proposals/_info.html.erb
Normal file
84
app/views/proposals/_info.html.erb
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<div class="proposal-info">
|
||||||
|
<%= render '/shared/author_info', resource: @proposal %>
|
||||||
|
|
||||||
|
<span class="bullet"> • </span>
|
||||||
|
<%= l @proposal.created_at.to_date %>
|
||||||
|
<span class="bullet"> • </span>
|
||||||
|
<span class="icon-comments"></span>
|
||||||
|
<%= link_to t("proposals.show.comments", count: @proposal.comments_count), "#comments" %>
|
||||||
|
|
||||||
|
<% if current_user %>
|
||||||
|
<span class="bullet"> • </span>
|
||||||
|
<span class="js-flag-actions">
|
||||||
|
<%= render 'proposals/flag_actions', proposal: @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 %>"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= safe_html_with_links @proposal.description %>
|
||||||
|
|
||||||
|
<% if feature?(:map) && map_location_available?(@proposal.map_location) %>
|
||||||
|
<div class="margin">
|
||||||
|
<%= render_map(@proposal.map_location, "proposal", false, nil) %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if @proposal.external_url.present? %>
|
||||||
|
<div class="document-link">
|
||||||
|
<p>
|
||||||
|
<span class="icon-document"></span>
|
||||||
|
<strong><%= t('proposals.show.title_external_url') %></strong>
|
||||||
|
</p>
|
||||||
|
<%= text_with_links @proposal.external_url %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if @proposal.video_url.present? %>
|
||||||
|
<div class="video-link">
|
||||||
|
<p>
|
||||||
|
<span class="icon-video"></span>
|
||||||
|
<strong><%= t('proposals.show.title_video_url') %></strong>
|
||||||
|
</p>
|
||||||
|
<%= text_with_links @proposal.video_url %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<h4><%= @proposal.question %></h4>
|
||||||
|
|
||||||
|
<% if @proposal.retired? %>
|
||||||
|
<div id="retired_explanation" class="callout">
|
||||||
|
<h2>
|
||||||
|
<%= t("proposals.show.retired") %>:
|
||||||
|
<%= t("proposals.retire_options.#{@proposal.retired_reason}") unless @proposal.retired_reason == 'other' %>
|
||||||
|
</h2>
|
||||||
|
<%= simple_format text_with_links(@proposal.retired_explanation), {}, sanitize: false %>
|
||||||
|
</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 %>
|
||||||
@@ -37,93 +37,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="proposal-info">
|
<%= render "info", proposal: @proposal %>
|
||||||
<%= render '/shared/author_info', resource: @proposal %>
|
|
||||||
|
|
||||||
<span class="bullet"> • </span>
|
|
||||||
<%= l @proposal.created_at.to_date %>
|
|
||||||
<span class="bullet"> • </span>
|
|
||||||
<span class="icon-comments"></span>
|
|
||||||
<%= link_to t("proposals.show.comments", count: @proposal.comments_count), "#comments" %>
|
|
||||||
|
|
||||||
<% if current_user %>
|
|
||||||
<span class="bullet"> • </span>
|
|
||||||
<span class="js-flag-actions">
|
|
||||||
<%= render 'proposals/flag_actions', proposal: @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 %>"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<%= safe_html_with_links @proposal.description %>
|
|
||||||
|
|
||||||
<% if feature?(:map) && map_location_available?(@proposal.map_location) %>
|
|
||||||
<div class="margin">
|
|
||||||
<%= render_map(@proposal.map_location, "proposal", false, nil) %>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if @proposal.external_url.present? %>
|
|
||||||
<div class="document-link">
|
|
||||||
<p>
|
|
||||||
<span class="icon-document"></span>
|
|
||||||
<strong><%= t('proposals.show.title_external_url') %></strong>
|
|
||||||
</p>
|
|
||||||
<%= text_with_links @proposal.external_url %>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if @proposal.video_url.present? %>
|
|
||||||
<div class="video-link">
|
|
||||||
<p>
|
|
||||||
<span class="icon-video"></span>
|
|
||||||
<strong><%= t('proposals.show.title_video_url') %></strong>
|
|
||||||
</p>
|
|
||||||
<%= text_with_links @proposal.video_url %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<h4><%= @proposal.question %></h4>
|
|
||||||
|
|
||||||
<% if @proposal.retired? %>
|
|
||||||
<div id="retired_explanation" class="callout">
|
|
||||||
<h2>
|
|
||||||
<%= t("proposals.show.retired") %>:
|
|
||||||
<%= t("proposals.retire_options.#{@proposal.retired_reason}") unless @proposal.retired_reason == 'other' %>
|
|
||||||
</h2>
|
|
||||||
<%= simple_format text_with_links(@proposal.retired_explanation), {}, sanitize: false %>
|
|
||||||
</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 %>
|
<%= render 'shared/geozone', geozonable: @proposal %>
|
||||||
|
|
||||||
<%= render 'relationable/related_content', relationable: @proposal %>
|
<%= render 'relationable/related_content', relationable: @proposal %>
|
||||||
|
|
||||||
<div class="js-moderator-proposal-actions margin">
|
<div class="js-moderator-proposal-actions margin">
|
||||||
|
|||||||
@@ -23,4 +23,13 @@ feature "Admin proposals" do
|
|||||||
expect(page).not_to have_content "Build a monument"
|
expect(page).not_to have_content "Build a monument"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Show" do
|
||||||
|
create(:proposal, title: "Create a chaotic future", summary: "Chaos isn't controlled")
|
||||||
|
|
||||||
|
visit admin_proposals_path
|
||||||
|
click_link "Create a chaotic future"
|
||||||
|
|
||||||
|
expect(page).to have_content "Chaos isn't controlled"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user