Merge pull request #1358 from consul/budget-unfeasibles
Budget unfeasibles
This commit is contained in:
@@ -894,6 +894,11 @@
|
||||
.info {
|
||||
background: #6A2A72;
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
@include breakpoint(medium) {
|
||||
border-top: rem-calc(6) solid #54225C;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ class BudgetsController < ApplicationController
|
||||
include FeatureFlags
|
||||
feature_flag :budgets
|
||||
|
||||
|
||||
load_and_authorize_resource
|
||||
respond_to :html, :js
|
||||
|
||||
|
||||
@@ -7,6 +7,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if params[:unfeasible] %>
|
||||
<div class="row margin-top">
|
||||
<div class="small-12 column">
|
||||
<h3><%= t("budgets.groups.show.unfeasible_title") %></h3>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="row margin-top">
|
||||
<div id="select-district" class="small-12 medium-7 column select-district">
|
||||
<div class="row">
|
||||
@@ -16,7 +24,8 @@
|
||||
<span id="<%= dom_id(heading) %>"
|
||||
class="<%= css_for_ballot_heading(heading) %>">
|
||||
<%= link_to heading.name,
|
||||
budget_investments_path(heading_id: heading.id),
|
||||
budget_investments_path(heading_id: heading.id,
|
||||
unfeasible: params[:unfeasible]),
|
||||
data: { no_turbolink: true } %><br>
|
||||
</span>
|
||||
<% end %>
|
||||
@@ -29,3 +38,12 @@
|
||||
<%= image_tag "map.jpg" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if params[:unfeasible].blank? %>
|
||||
<div class="row margin-top">
|
||||
<div class="small-12 column">
|
||||
<small><%= link_to t("budgets.groups.show.unfeasible"),
|
||||
budget_path(@budget, unfeasible: 1) %></small>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<%= back_link_to budget_group_path(@budget, @heading.group) %>
|
||||
<%= back_link_to budget_group_path(@budget, @heading.group, unfeasible: params[:unfeasible]) %>
|
||||
|
||||
<% if can? :show, @ballot %>
|
||||
<%= link_to t("budgets.investments.header.check_ballot"),
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if investment.should_show_aside? %>
|
||||
<aside class="small-12 medium-3 column">
|
||||
<aside class="small-12 medium-3 column">
|
||||
<% if investment.should_show_aside? %>
|
||||
<% if investment.should_show_votes? %>
|
||||
<div class="sidebar-divider"></div>
|
||||
<h2><%= t("budgets.investments.show.supports") %></h2>
|
||||
@@ -89,21 +89,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="sidebar-divider"></div>
|
||||
<h2><%= t("budgets.investments.show.share") %></h2>
|
||||
<div class="social-share-full">
|
||||
<%= social_share_button_tag("#{investment.title} #{setting['twitter_hashtag']}") %>
|
||||
<% if browser.device.mobile? %>
|
||||
<a href="whatsapp://send?text=<%= investment.title %> <%= budget_investment_url(budget_id: investment.budget_id, id: investment.id) %>"
|
||||
data-action="share/whatsapp/share">
|
||||
<span class="icon-whatsapp whatsapp"></span>
|
||||
</a>
|
||||
<% end %>
|
||||
</div>
|
||||
</aside>
|
||||
<% else %>
|
||||
<div class="small-12 medium-3 column">
|
||||
<% else %>
|
||||
<div class="float-right">
|
||||
<span class="label-budget-investment float-left">
|
||||
<%= t("budgets.investments.show.title") %>
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
<%= render "shared/tag_cloud", taggable: 'budget/investment' %>
|
||||
<%= render 'budgets/investments/categories' %>
|
||||
<%= render 'budgets/investments/feasibility_link' %>
|
||||
|
||||
<% if @heading && can?(:show, @ballot) %>
|
||||
|
||||
|
||||
@@ -17,14 +17,15 @@
|
||||
<div class="small-12 search-results margin-bottom">
|
||||
|
||||
<% if params[:unfeasible].present? %>
|
||||
<h2><%= t("budgets.investments.index.unfeasible") %></h2>
|
||||
<p>
|
||||
<h2><%= t("budgets.investments.index.unfeasible") %>: <%= @heading.name %></h2>
|
||||
<div class="callout primary margin">
|
||||
<%= t("budgets.investments.index.unfeasible_text",
|
||||
definitions: link_to(t("budgets.investments.index.unfeasible_text_definitions"), "https://decide.madrid.es/participatory_budget_info#20")).html_safe %>
|
||||
</p>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= content_tag(:h2, t("budgets.investments.index.by_heading", heading: @heading.name)) if @heading.present? %>
|
||||
<% end %>
|
||||
|
||||
<%= content_tag(:h2, t("budgets.investments.index.by_heading", heading: @heading.name)) if @heading.present? %>
|
||||
<% if params[:search].present? %>
|
||||
<h2>
|
||||
<%= page_entries_info @investments %>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="expanded budget no-margin-top">
|
||||
<div class="row" data-equalizer>
|
||||
<div class="row" data-equalizer data-equalizer-on="medium">
|
||||
<div class="small-12 medium-9 column padding" data-equalizer-watch>
|
||||
<%= back_link_to budgets_path %>
|
||||
|
||||
@@ -10,9 +10,8 @@
|
||||
<div class="small-12 medium-3 column info padding" data-equalizer-watch>
|
||||
<p>
|
||||
<strong><%= t('budgets.show.phase') %></strong>
|
||||
<br>
|
||||
<%= t("budgets.phase.#{@budget.phase}") %>
|
||||
</p>
|
||||
<h2><%= t("budgets.phase.#{@budget.phase}") %></h2>
|
||||
|
||||
<% if @budget.accepting? %>
|
||||
<% if current_user %>
|
||||
@@ -38,6 +37,9 @@
|
||||
|
||||
<div class="row margin-top">
|
||||
<div class="small-12 medium-9 column">
|
||||
<% if params[:unfeasible] %>
|
||||
<h3 class="margin-bottom"><%= t("budgets.show.unfeasible_title") %></h3>
|
||||
<% end %>
|
||||
<table class="table-fixed">
|
||||
<thead>
|
||||
<th><%= t('budgets.show.group') %></th>
|
||||
@@ -48,10 +50,14 @@
|
||||
<td>
|
||||
<% if group.headings.count == 1 %>
|
||||
<%= link_to group.name,
|
||||
budget_investments_path(@budget, heading_id: group.headings.first.id),
|
||||
budget_investments_path(@budget,
|
||||
heading_id: group.headings.first.id,
|
||||
unfeasible: params[:unfeasible]),
|
||||
data: { no_turbolink: true } %>
|
||||
<% else %>
|
||||
<%= link_to group.name, budget_group_path(@budget, group) %>
|
||||
<%= link_to group.name,
|
||||
budget_group_path(@budget, group,
|
||||
unfeasible: params[:unfeasible]) %>
|
||||
<% end %>
|
||||
<br>
|
||||
</td>
|
||||
@@ -61,3 +67,12 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% unless params[:unfeasible] %>
|
||||
<div class="row margin-top">
|
||||
<div class="small-12 column">
|
||||
<small><%= link_to t("budgets.show.unfeasible"),
|
||||
budget_path(@budget, unfeasible: 1) %></small>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@@ -22,6 +22,8 @@ en:
|
||||
groups:
|
||||
show:
|
||||
title: Select an option
|
||||
unfeasible_title: Unfeasible investments
|
||||
unfeasible: See unfeasible investments
|
||||
phase:
|
||||
accepting: Accepting proposals
|
||||
reviewing: Reviewing proposals
|
||||
@@ -103,3 +105,5 @@ en:
|
||||
show:
|
||||
group: Group
|
||||
phase: Actual phase
|
||||
unfeasible_title: Unfeasible investments
|
||||
unfeasible: See unfeasible investments
|
||||
@@ -22,6 +22,8 @@ es:
|
||||
groups:
|
||||
show:
|
||||
title: Selecciona una opción
|
||||
unfeasible_title: Propuestas inviables
|
||||
unfeasible: Ver propuestas inviables
|
||||
phase:
|
||||
accepting: Aceptando propuestas
|
||||
reviewing: Revisando propuestas
|
||||
@@ -103,3 +105,5 @@ es:
|
||||
show:
|
||||
group: Grupo
|
||||
phase: Fase actual
|
||||
unfeasible_title: Propuestas inviables
|
||||
unfeasible: Ver las propuestas inviables
|
||||
|
||||
@@ -23,21 +23,6 @@ feature 'Budget Investments' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Feasibility links' do
|
||||
visit budget_investments_path(budget, heading_id: heading.id)
|
||||
expect(page).to_not have_content('Feasible projects')
|
||||
|
||||
within('#sidebar') do
|
||||
click_link 'Unfeasible projects'
|
||||
end
|
||||
expect(page).to have_current_path(budget_investments_path(budget, heading_id: heading.id, unfeasible: 1))
|
||||
|
||||
within('#sidebar') do
|
||||
click_link 'Feasible projects'
|
||||
end
|
||||
expect(page).to have_current_path(budget_investments_path(budget, heading_id: heading.id, unfeasible: nil))
|
||||
end
|
||||
|
||||
context("Search") do
|
||||
|
||||
scenario 'Search by text' do
|
||||
@@ -82,6 +67,35 @@ feature 'Budget Investments' do
|
||||
expect(page).to_not have_content(investment4.title)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "by unfeasibilty link for group with one heading" do
|
||||
group = create(:budget_group, name: 'All City', budget: budget)
|
||||
heading = create(:budget_heading, name: "Madrid", group: group)
|
||||
|
||||
visit budget_path(budget)
|
||||
click_link 'See unfeasible investments'
|
||||
|
||||
click_link "All City"
|
||||
|
||||
expected_path = budget_investments_path(budget, heading_id: heading.id, unfeasible: 1)
|
||||
expect(page).to have_current_path(expected_path)
|
||||
end
|
||||
|
||||
scenario "by unfeasibilty link for group with many headings" do
|
||||
group = create(:budget_group, name: 'Districts', budget: budget)
|
||||
heading1 = create(:budget_heading, name: 'Carabanchel', group: group)
|
||||
heading2 = create(:budget_heading, name: 'Barajas', group: group)
|
||||
|
||||
visit budget_path(budget)
|
||||
|
||||
click_link 'See unfeasible investments'
|
||||
|
||||
click_link 'Districts'
|
||||
click_link 'Carabanchel'
|
||||
|
||||
expected_path = budget_investments_path(budget, heading_id: heading1.id, unfeasible: 1)
|
||||
expect(page).to have_current_path(expected_path)
|
||||
end
|
||||
end
|
||||
|
||||
context("Orders") do
|
||||
|
||||
Reference in New Issue
Block a user