- | ">
- <% if budget.finished? %>
-
- <%= t("admin.budgets.index.table_completed") %>
-
- <% end %>
+ |
+ <%= status_text(budget) %>
<%= budget.name %>
|
diff --git a/app/components/admin/budgets/index_component.rb b/app/components/admin/budgets/index_component.rb
index 7523207da..1bf411989 100644
--- a/app/components/admin/budgets/index_component.rb
+++ b/app/components/admin/budgets/index_component.rb
@@ -29,4 +29,20 @@ class Admin::Budgets::IndexComponent < ApplicationComponent
def duration(budget)
Admin::Budgets::DurationComponent.new(budget).duration
end
+
+ def status_html_class(budget)
+ if budget.drafting?
+ "budget-draft"
+ elsif budget.finished?
+ "budget-completed"
+ end
+ end
+
+ def status_text(budget)
+ if budget.drafting?
+ tag.span t("admin.budgets.index.table_draft")
+ elsif budget.finished?
+ tag.span t("admin.budgets.index.table_completed")
+ end
+ end
end
diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml
index c101d1bb3..e0f3f20ca 100644
--- a/config/locales/en/admin.yml
+++ b/config/locales/en/admin.yml
@@ -80,6 +80,7 @@ en:
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_draft: "Draft"
table_duration: "Duration"
table_name: Name
table_phase: Phase
diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml
index fe424a138..3e6db5a74 100644
--- a/config/locales/es/admin.yml
+++ b/config/locales/es/admin.yml
@@ -80,6 +80,7 @@ es:
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_draft: "Borrador"
table_duration: "Duración"
table_name: Nombre
table_phase: Fase
diff --git a/spec/system/admin/budgets_spec.rb b/spec/system/admin/budgets_spec.rb
index 24249fd1b..e6c22ed6b 100644
--- a/spec/system/admin/budgets_spec.rb
+++ b/spec/system/admin/budgets_spec.rb
@@ -27,36 +27,41 @@ describe "Admin budgets", :admin do
end
scenario "Filters by phase" do
- drafting_budget = create(:budget, :drafting)
- accepting_budget = create(:budget, :accepting)
- selecting_budget = create(:budget, :selecting)
- balloting_budget = create(:budget, :balloting)
- finished_budget = create(:budget, :finished)
+ create(:budget, :drafting, name: "Unpublished budget")
+ create(:budget, :accepting, name: "Accepting budget")
+ create(:budget, :selecting, name: "Selecting budget")
+ create(:budget, :balloting, name: "Balloting budget")
+ create(:budget, :finished, name: "Finished budget")
visit admin_budgets_path
- expect(page).to have_content(drafting_budget.name)
- 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).to have_content(finished_budget.name)
- within "#budget_#{finished_budget.id}" do
- expect(page).to have_content("COMPLETED")
+ expect(page).to have_content "Accepting budget"
+ expect(page).to have_content "Selecting budget"
+ expect(page).to have_content "Balloting budget"
+
+ within "tr", text: "Unpublished budget" do
+ expect(page).to have_content "Draft"
+ end
+
+ within "tr", text: "Finished budget" do
+ expect(page).to have_content "COMPLETED"
end
click_link "Finished"
- expect(page).not_to have_content(drafting_budget.name)
- expect(page).not_to have_content(accepting_budget.name)
- expect(page).not_to have_content(selecting_budget.name)
- expect(page).not_to have_content(balloting_budget.name)
- expect(page).to have_content(finished_budget.name)
+
+ expect(page).not_to have_content "Unpublished budget"
+ expect(page).not_to have_content "Accepting budget"
+ expect(page).not_to have_content "Selecting budget"
+ expect(page).not_to have_content "Balloting budget"
+ expect(page).to have_content "Finished budget"
click_link "Open"
- expect(page).to have_content(drafting_budget.name)
- 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 "Unpublished budget"
+ expect(page).to have_content "Accepting budget"
+ expect(page).to have_content "Selecting budget"
+ expect(page).to have_content "Balloting budget"
+ expect(page).not_to have_content "Finished budget"
end
scenario "Filters are properly highlighted" do
|