diff --git a/app/controllers/admin/organizations_controller.rb b/app/controllers/admin/organizations_controller.rb index d8296ee4a..19003ad3a 100644 --- a/app/controllers/admin/organizations_controller.rb +++ b/app/controllers/admin/organizations_controller.rb @@ -11,12 +11,12 @@ class Admin::OrganizationsController < Admin::BaseController def verify @organization.verify - redirect_to action: :index, filter: @filter + redirect_to request.query_parameters.merge(action: :index) end def reject @organization.reject - redirect_to action: :index, filter: @filter + redirect_to request.query_parameters.merge(action: :index) end private diff --git a/app/views/admin/organizations/index.html.erb b/app/views/admin/organizations/index.html.erb index b0d651af2..425bee1f7 100644 --- a/app/views/admin/organizations/index.html.erb +++ b/app/views/admin/organizations/index.html.erb @@ -26,7 +26,7 @@ <% end %> <% if can? :verify, organization %> <%= link_to t('admin.organizations.index.verify'), - verify_admin_organization_path(organization, filter: @filter), + verify_admin_organization_path(organization, request.query_parameters), method: :put %> @@ -36,7 +36,7 @@ <% end %> <% if can? :reject, organization %> <%= link_to t('admin.organizations.index.reject'), - reject_admin_organization_path(organization, filter: @filter), + reject_admin_organization_path(organization, request.query_parameters), method: :put %> @@ -45,4 +45,4 @@ <% end %> -<%= paginate @organizations %> \ No newline at end of file +<%= paginate @organizations %> diff --git a/spec/features/admin/organizations_spec.rb b/spec/features/admin/organizations_spec.rb index c3ac46d3d..954e2ee8f 100644 --- a/spec/features/admin/organizations_spec.rb +++ b/spec/features/admin/organizations_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Moderations::Organizations' do +feature 'Admin::Organizations' do background do @@ -111,4 +111,18 @@ feature 'Moderations::Organizations' do expect(page).to_not have_content('Verified Organization') end + scenario "Verifying organization links remember the pagination setting and the filter" do + 30.times { create(:organization) } + + visit admin_organizations_path(filter: 'pending', page: 2) + + click_on('Verify', match: :first) + + uri = URI.parse(current_url) + query_params = Rack::Utils.parse_nested_query(uri.query).symbolize_keys + + expect(query_params[:filter]).to eq('pending') + expect(query_params[:page]).to eq('2') + end + end