From 4ff8162a2e5855bf0414b9bac39549cd3e3538a3 Mon Sep 17 00:00:00 2001 From: decabeza Date: Mon, 16 Mar 2020 12:54:00 +0100 Subject: [PATCH 1/2] Add filter to show all budgets in admin --- app/controllers/admin/budgets_controller.rb | 2 +- config/locales/en/admin.yml | 1 + config/locales/es/admin.yml | 1 + spec/system/admin/budgets_spec.rb | 6 +++--- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/budgets_controller.rb b/app/controllers/admin/budgets_controller.rb index e3b74ca65..b6adc0a0a 100644 --- a/app/controllers/admin/budgets_controller.rb +++ b/app/controllers/admin/budgets_controller.rb @@ -4,7 +4,7 @@ class Admin::BudgetsController < Admin::BaseController include FeatureFlags feature_flag :budgets - has_filters %w[open finished], only: :index + has_filters %w[all open finished], only: :index before_action :load_budget, except: [:index, :new, :create] before_action :load_staff, only: [:new, :create, :edit, :update, :show] diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index ddaafb641..22332f663 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -70,6 +70,7 @@ en: new_link: Create new budget filter: Filter filters: + all: All open: Open finished: Finished help: "Participatory budgets allow citizens to propose and decide directly how to spend part of the budget, with monitoring and rigorous evaluation of proposals by the institution." diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 8afb17164..252705474 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -70,6 +70,7 @@ es: new_link: Crear nuevo presupuesto filter: Filtro filters: + all: Todos open: Abiertos finished: Terminados help: "Los presupuestos participativos permiten que los ciudadanos propongan y decidan de manera directa cómo gastar parte del presupuesto, con un seguimiento y evaluación riguroso de las propuestas por parte de la institución." diff --git a/spec/system/admin/budgets_spec.rb b/spec/system/admin/budgets_spec.rb index 3303084aa..ad2a9e2f0 100644 --- a/spec/system/admin/budgets_spec.rb +++ b/spec/system/admin/budgets_spec.rb @@ -77,15 +77,15 @@ describe "Admin budgets", :admin do expect(page).not_to have_content(finished_budget.name) end - scenario "Open filter is properly highlighted" do - filters_links = { "current" => "Open", "finished" => "Finished" } + scenario "Filters are properly highlighted" do + filters_links = { "all" => "All", "open" => "Open", "finished" => "Finished" } visit admin_budgets_path expect(page).not_to have_link(filters_links.values.first) filters_links.keys.drop(1).each { |filter| expect(page).to have_link(filters_links[filter]) } - filters_links.each_pair do |current_filter, link| + filters_links.each do |current_filter, link| visit admin_budgets_path(filter: current_filter) expect(page).not_to have_link(link) From 2f636eaf7753a9ab13dfee60f533b419b62530a0 Mon Sep 17 00:00:00 2001 From: decabeza Date: Mon, 16 Mar 2020 12:54:00 +0100 Subject: [PATCH 2/2] Add completed info on finished budgets --- .../stylesheets/admin/budgets/index.scss | 24 +++++++++++++++++++ app/views/admin/budgets/index.html.erb | 11 ++++++--- config/locales/en/admin.yml | 1 + config/locales/es/admin.yml | 1 + spec/system/admin/budgets_spec.rb | 6 ++++- 5 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 app/assets/stylesheets/admin/budgets/index.scss diff --git a/app/assets/stylesheets/admin/budgets/index.scss b/app/assets/stylesheets/admin/budgets/index.scss new file mode 100644 index 000000000..183439343 --- /dev/null +++ b/app/assets/stylesheets/admin/budgets/index.scss @@ -0,0 +1,24 @@ +.admin .budgets-table { + + .budget-completed { + @include has-fa-icon(lock, solid); + padding-left: calc(1em + #{rem-calc(10)}); + position: relative; + + &::before { + color: $admin-border-color; + left: rem-calc(4); + position: absolute; + transform: translateY(50%); + } + + span { + color: $admin-text; + display: block; + font-size: $tiny-font-size; + font-weight: bold; + line-height: rem-calc(12); + text-transform: uppercase; + } + } +} diff --git a/app/views/admin/budgets/index.html.erb b/app/views/admin/budgets/index.html.erb index 841bcb0da..64e6cb946 100644 --- a/app/views/admin/budgets/index.html.erb +++ b/app/views/admin/budgets/index.html.erb @@ -9,7 +9,7 @@ <% if @budgets.any? %>

<%= page_entries_info @budgets %>

- +
@@ -20,8 +20,13 @@ <% @budgets.each do |budget| %> -
<%= t("admin.budgets.index.table_name") %>
- <%= budget.name %> + "> + <% if budget.finished? %> + + <%= t("admin.budgets.index.table_completed") %> + + <% end %> + <%= budget.name %> <%= t("budgets.phase.#{budget.phase}") %> diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index 22332f663..05ead4211 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -75,6 +75,7 @@ en: finished: Finished help: "Participatory budgets allow citizens to propose and decide directly how to spend part of the budget, with monitoring and rigorous evaluation of proposals by the institution." budget_investments: Manage projects + table_completed: Completed table_name: Name table_phase: Phase edit_groups: Edit headings groups diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 252705474..527d31f0a 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -75,6 +75,7 @@ es: finished: Terminados help: "Los presupuestos participativos permiten que los ciudadanos propongan y decidan de manera directa cómo gastar parte del presupuesto, con un seguimiento y evaluación riguroso de las propuestas por parte de la institución." budget_investments: Gestionar proyectos de gasto + table_completed: Completado table_name: Nombre table_phase: Fase edit_groups: Editar grupos de partidas diff --git a/spec/system/admin/budgets_spec.rb b/spec/system/admin/budgets_spec.rb index ad2a9e2f0..0fb597c31 100644 --- a/spec/system/admin/budgets_spec.rb +++ b/spec/system/admin/budgets_spec.rb @@ -60,7 +60,11 @@ describe "Admin budgets", :admin do expect(page).to have_content(accepting_budget.name) expect(page).to have_content(selecting_budget.name) expect(page).to have_content(balloting_budget.name) - expect(page).not_to have_content(finished_budget.name) + expect(page).to have_content(finished_budget.name) + + within "#budget_#{finished_budget.id}" do + expect(page).to have_content("Completed") + end click_link "Finished" expect(page).not_to have_content(drafting_budget.name)