Merge remote-tracking branch 'upstream/pull/5391'

This commit is contained in:
Tom Hughes 2024-12-18 14:11:51 +00:00
commit 6094a97ce6
13 changed files with 292 additions and 265 deletions

View file

@ -0,0 +1,41 @@
module Users
class ListsController < ApplicationController
include PaginationMethods
layout "site"
before_action :authorize_web
before_action :set_locale
before_action :check_database_readable
authorize_resource :class => :users_list
##
# display a list of users matching specified criteria
def show
@params = params.permit(:status, :ip, :before, :after)
users = User.all
users = users.where(:status => @params[:status]) if @params[:status]
users = users.where(:creation_address => @params[:ip]) if @params[:ip]
@users_count = users.limit(501).count
@users_count = I18n.t("count.at_least_pattern", :count => 500) if @users_count > 500
@users, @newer_users_id, @older_users_id = get_page_items(users, :limit => 50)
render :partial => "page" if turbo_frame_request_id == "pagination"
end
##
# update status of selected users
def update
ids = params[:user].keys.collect(&:to_i)
User.where(:id => ids).update_all(:status => "confirmed") if params[:confirm]
User.where(:id => ids).update_all(:status => "deleted") if params[:hide]
redirect_to url_for(params.permit(:status, :ip, :before, :after))
end
end
end

View file

@ -2,7 +2,6 @@ class UsersController < ApplicationController
include EmailMethods
include SessionMethods
include UserMethods
include PaginationMethods
layout "site"
@ -21,32 +20,6 @@ class UsersController < ApplicationController
allow_thirdparty_images :only => :show
allow_social_login :only => :new
##
# display a list of users matching specified criteria
def index
if request.post?
ids = params[:user].keys.collect(&:to_i)
User.where(:id => ids).update_all(:status => "confirmed") if params[:confirm]
User.where(:id => ids).update_all(:status => "deleted") if params[:hide]
redirect_to url_for(:status => params[:status], :ip => params[:ip], :page => params[:page])
else
@params = params.permit(:status, :ip, :before, :after)
users = User.all
users = users.where(:status => @params[:status]) if @params[:status]
users = users.where(:creation_address => @params[:ip]) if @params[:ip]
@users_count = users.limit(501).count
@users_count = I18n.t("count.at_least_pattern", :count => 500) if @users_count > 500
@users, @newer_users_id, @older_users_id = get_page_items(users, :limit => 50)
render :partial => "page" if turbo_frame_request_id == "pagination"
end
end
def show
@user = User.find_by(:display_name => params[:display_name])