diff --git a/decidim-admin/app/controllers/concerns/decidim/admin/verification_conflicts/filterable.rb b/decidim-admin/app/controllers/concerns/decidim/admin/verification_conflicts/filterable.rb new file mode 100644 index 0000000000000..cb2937b676a8a --- /dev/null +++ b/decidim-admin/app/controllers/concerns/decidim/admin/verification_conflicts/filterable.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require "active_support/concern" + +module Decidim + module Admin + module VerificationConflicts + module Filterable + extend ActiveSupport::Concern + + included do + include Decidim::Admin::Filterable + + private + + def base_query + collection + end + + def search_field_predicate + :current_user_name_or_current_user_nickname_or_current_user_email_cont + end + + def filters + [] + end + end + end + end + end +end diff --git a/decidim-admin/app/controllers/decidim/admin/conflicts_controller.rb b/decidim-admin/app/controllers/decidim/admin/conflicts_controller.rb index a3c7881737bfc..5533813993cfa 100644 --- a/decidim-admin/app/controllers/decidim/admin/conflicts_controller.rb +++ b/decidim-admin/app/controllers/decidim/admin/conflicts_controller.rb @@ -3,18 +3,16 @@ module Decidim module Admin class ConflictsController < Decidim::Admin::ApplicationController + include Decidim::Admin::VerificationConflicts::Filterable + layout "decidim/admin/users" - helper_method :context_breadcrumb_items + helper_method :context_breadcrumb_items, :conflicts add_breadcrumb_item_from_menu :impersonate_menu def index enforce_permission_to :index, :impersonatable_user - - @conflicts = Decidim::Verifications::Conflict.joins(:current_user).where( - decidim_users: { decidim_organization_id: current_organization.id } - ) end def edit @@ -66,6 +64,16 @@ def impersonations_breadcrumb_item url: decidim_admin.impersonatable_users_path } end + + def collection + @collection ||= Decidim::Verifications::Conflict.joins(:current_user).where( + decidim_users: { decidim_organization_id: current_organization.id } + ) + end + + def conflicts + @conflicts ||= filtered_collection.order(created_at: :desc) + end end end end diff --git a/decidim-admin/app/views/decidim/admin/conflicts/index.html.erb b/decidim-admin/app/views/decidim/admin/conflicts/index.html.erb index ac81afc7dfcd1..16117766de80e 100644 --- a/decidim-admin/app/views/decidim/admin/conflicts/index.html.erb +++ b/decidim-admin/app/views/decidim/admin/conflicts/index.html.erb @@ -1,10 +1,32 @@ <% add_decidim_page_title(t("title", scope: "decidim.admin.conflicts")) %> -
<%= conflict.current_user.name %> | <%= conflict.managed_user.name %> | @@ -30,3 +52,4 @@