diff --git a/app/controllers/admin/dashboard/administrator_tasks_controller.rb b/app/controllers/admin/dashboard/administrator_tasks_controller.rb index 61f5ab108..1450e24aa 100644 --- a/app/controllers/admin/dashboard/administrator_tasks_controller.rb +++ b/app/controllers/admin/dashboard/administrator_tasks_controller.rb @@ -1,9 +1,11 @@ class Admin::Dashboard::AdministratorTasksController < Admin::Dashboard::BaseController + has_filters %w[pending done] + helper_method :administrator_task def index authorize! :index, ::Dashboard::AdministratorTask - @administrator_tasks = ::Dashboard::AdministratorTask.pending + @administrator_tasks = ::Dashboard::AdministratorTask.send(@current_filter) end def edit diff --git a/app/views/admin/dashboard/administrator_tasks/index.html.erb b/app/views/admin/dashboard/administrator_tasks/index.html.erb index ef78cb264..748272a34 100644 --- a/app/views/admin/dashboard/administrator_tasks/index.html.erb +++ b/app/views/admin/dashboard/administrator_tasks/index.html.erb @@ -2,6 +2,8 @@

<%= t("admin.dashboard.administrator_tasks.index.description") %>

+<%= render "shared/filter_subnav", i18n_namespace: "admin.dashboard.administrator_tasks.index" %> + <% if @administrator_tasks.any? %> @@ -22,9 +24,11 @@ <%= task.source.action.title %> <% end %> diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 9e39379a2..2e4b00fac 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -153,6 +153,7 @@ ignore_unused: - "admin.booths.*.submit_button" - "admin.admin_notifications.*.submit_button" - "admin.homepage.*" + - "admin.dashboard.administrator_tasks.index.filter*" - "moderation.comments.index.filter*" - "moderation.comments.index.order*" - "moderation.debates.index.filter*" diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index a6c6de89a..6aaa7b3e8 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -408,11 +408,15 @@ en: administrator_tasks: index: description: "Resources published in the dashboard of proposals may include a button to be requested to administrators. User requests are shown below." - title: Resources requested pending + title: Resources requested solve: Solve - no_records: There are no pending tasks + no_records: There are no resources requested source: Source resource: Requested resource + filter: Filter + filters: + pending: Pending + done: Solved edit: back: Back to pending tasks list solving: Solve pending task @@ -698,7 +702,7 @@ en: legislation: Collaborative Legislation users: Users dashboard: Proposals dashboard - administrator_tasks: Resources requested pending + administrator_tasks: Resources requested dashboard_actions: Resources and actions administrators: index: diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index cdce1e775..a8e2088ec 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -408,11 +408,15 @@ es: administrator_tasks: index: description: "Los recursos publicados en el panel de progreso de las propuestas pueden incluir un botón para ser solicitados a los administradores. A continuación se muestran las solicitudes de los usuarios." - title: Recursos solicitados pendientes + title: Recursos solicitados solve: Resolver - no_records: No hay tareas pendientes + no_records: No hay recursos solicitados source: Propuesta resource: Recurso solicitado + filter: Filtro + filters: + pending: Pendientes + done: Resueltos edit: back: Volver a la lista de tareas pendientes solving: Resolver tarea pendiente @@ -697,7 +701,7 @@ es: legislation: Legislación colaborativa users: Usuarios dashboard: Panel de progreso de propuestas - administrator_tasks: Recursos solicitados pendientes + administrator_tasks: Recursos solicitados dashboard_actions: Recursos y acciones administrators: index: diff --git a/spec/features/admin/dashboard/administrator_tasks_spec.rb b/spec/features/admin/dashboard/administrator_tasks_spec.rb index eb77c41c6..985f9d641 100644 --- a/spec/features/admin/dashboard/administrator_tasks_spec.rb +++ b/spec/features/admin/dashboard/administrator_tasks_spec.rb @@ -14,7 +14,7 @@ feature "Admin administrator tasks" do end scenario "shows that there are no records available" do - expect(page).to have_content("There are no pending tasks") + expect(page).to have_content("There are no resources requested") end end @@ -54,12 +54,20 @@ feature "Admin administrator tasks" do expect(page).to have_button("Mark as solved") end - scenario "After it is solved dissapears from the list" do + scenario "After it is solved appears on solved filter" do click_button "Mark as solved" expect(page).not_to have_link(task.source.proposal.title) expect(page).not_to have_content(task.source.action.title) expect(page).to have_content("The task has been marked as solved") + + within("#filter-subnav") do + click_link "Solved" + end + + expect(page).to have_content(task.source.proposal.title) + expect(page).to have_content(task.source.action.title) + expect(page).not_to have_link("Solve") end end end
- <%= link_to t("admin.dashboard.administrator_tasks.index.solve"), - edit_admin_dashboard_administrator_task_path(task), - class: "button hollow" %> + <% unless task.executed_at? %> + <%= link_to t("admin.dashboard.administrator_tasks.index.solve"), + edit_admin_dashboard_administrator_task_path(task), + class: "button hollow" %> + <% end %>