diff --git a/app/controllers/budgets_controller.rb b/app/controllers/budgets_controller.rb index 4f215c46f..c0cb86565 100644 --- a/app/controllers/budgets_controller.rb +++ b/app/controllers/budgets_controller.rb @@ -15,6 +15,7 @@ class BudgetsController < ApplicationController def index @budgets = @budgets.order(:created_at) + @budget = current_budget end end diff --git a/app/models/budget/phase.rb b/app/models/budget/phase.rb index 903c698aa..5475d97be 100644 --- a/app/models/budget/phase.rb +++ b/app/models/budget/phase.rb @@ -21,6 +21,7 @@ class Budget after_save :adjust_date_ranges scope :enabled, -> { where(enabled: true) } + scope :published, -> { enabled.where.not(kind: 'drafting') } scope :drafting, -> { find_by_kind('drafting') } scope :accepting, -> { find_by_kind('accepting')} scope :reviewing, -> { find_by_kind('reviewing')} diff --git a/app/views/budgets/index.html.erb b/app/views/budgets/index.html.erb index 0ccc8bcef..fbda297cc 100644 --- a/app/views/budgets/index.html.erb +++ b/app/views/budgets/index.html.erb @@ -3,32 +3,135 @@ <%= render "shared/canonical", href: budgets_url %> <% end %> -<%= render "shared/section_header", i18n_namespace: "budgets.index.section_header", image: "budgets" %> +
| <%= Budget.human_attribute_name(:name) %> | -<%= Budget.human_attribute_name(:phase) %> | -
|---|---|
| - <%= link_to budget.name, budget %> - | -- <%= budget.translated_phase %> - | -
diff --git a/config/locales/en/budgets.yml b/config/locales/en/budgets.yml index 7f25d243f..ea5730bfa 100644 --- a/config/locales/en/budgets.yml +++ b/config/locales/en/budgets.yml @@ -44,6 +44,14 @@ en: icon_alt: Participatory budgets icon title: Participatory budgets help: Help about participatory budgets + all_phases: See all phases + all_phases: Budget investment's phases + map: Budget investments' proposals located geographically + investment_proyects: List of all investment projects + unfeasible_investment_proyects: List of all unfeasible investment projects + not_selected_investment_proyects: List of all investment projects not selected for balloting + finished_budgets: Finished participatory budgets + see_results: See results section_footer: title: Help about participatory budgets description: With the participatory budgets the citizens decide to which projects presented by the neighbors is destined a part of the municipal budget. diff --git a/config/locales/es/budgets.yml b/config/locales/es/budgets.yml index c7f84a3a9..326ddabbe 100644 --- a/config/locales/es/budgets.yml +++ b/config/locales/es/budgets.yml @@ -44,6 +44,14 @@ es: icon_alt: Icono de Presupuestos participativos title: Presupuestos participativos help: Ayuda sobre presupuestos participativos + all_phases: Ver todas las fases + all_phases: Fases de los presupuestos participativos + map: Propuestas de los presupuestos participativos localizables geográficamente + investment_proyects: Ver lista completa de proyectos de inversión + unfeasible_investment_proyects: Ver lista de proyectos de inversión inviables + not_selected_investment_proyects: Ver lista de proyectos de inversión no seleccionados para la votación final + finished_budgets: Presupuestos participativos terminados + see_results: Ver resultados section_footer: title: Ayuda sobre presupuestos participativos description: Con los presupuestos participativos la ciudadanía decide a qué proyectos presentados por los vecinos y vecinas va destinada una parte del presupuesto municipal. diff --git a/spec/features/budgets/budgets_spec.rb b/spec/features/budgets/budgets_spec.rb index ee537a854..bb7ab2e91 100644 --- a/spec/features/budgets/budgets_spec.rb +++ b/spec/features/budgets/budgets_spec.rb @@ -7,8 +7,42 @@ feature 'Budgets' do scenario 'Index' do budgets = create_list(:budget, 3) + last_budget = budgets.last + group1 = create(:budget_group, budget: last_budget) + group2 = create(:budget_group, budget: last_budget) + + heading1 = create(:budget_heading, group: group1) + heading2 = create(:budget_heading, group: group2) + visit budgets_path - budgets.each {|budget| expect(page).to have_link(budget.name)} + + within("#budget_heading") do + expect(page).to have_content(last_budget.name) + expect(page).to have_content(last_budget.description) + expect(page).to have_content("Actual phase (1/8)") + expect(page).to have_content("Accepting projects") + expect(page).to have_link 'Help about participatory budgets' + expect(page).to have_link 'See all phases' + end + + last_budget.update_attributes(phase: 'publishing_prices') + visit budgets_path + + within("#budget_heading") do + expect(page).to have_content("Actual phase (5/8)") + end + + within('#budget_info') do + expect(page).to have_content group1.name + expect(page).to have_content group2.name + expect(page).to have_content heading1.name + expect(page).to have_content last_budget.formatted_heading_price(heading1) + expect(page).to have_content heading2.name + expect(page).to have_content last_budget.formatted_heading_price(heading2) + + expect(page).to have_content budgets.first.name + expect(page).to have_content budgets[2].name + end end context 'Show' do @@ -70,6 +104,7 @@ feature 'Budgets' do background do logout budget.update(phase: 'drafting') + create(:budget) end context "Listed" do diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb index 55abbec7e..00f10e111 100644 --- a/spec/features/budgets/investments_spec.rb +++ b/spec/features/budgets/investments_spec.rb @@ -778,8 +778,7 @@ feature 'Budget Investments' do visit root_path first(:link, "Participatory budgeting").click - click_link budget.name - click_link "Health" + click_link "More hospitals" within("#budget_investment_#{sp1.id}") do expect(page).to have_content sp1.title