mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Load 100 users at a time for the badge page, with a button to load more.
This commit is contained in:
@@ -1,14 +1,21 @@
|
||||
class UserBadgesController < ApplicationController
|
||||
def index
|
||||
params.permit(:username)
|
||||
params.permit(:username).permit(:granted_before)
|
||||
|
||||
if params[:username]
|
||||
user = fetch_user_from_params
|
||||
user_badges = user.user_badges
|
||||
else
|
||||
badge = fetch_badge_from_params
|
||||
user_badges = badge.user_badges.order('granted_at DESC').limit(200)
|
||||
user_badges = badge.user_badges.order('granted_at DESC').limit(100)
|
||||
end
|
||||
|
||||
if params[:granted_before]
|
||||
user_badges = user_badges.where('granted_at < ?', Time.at(params[:granted_before].to_f))
|
||||
end
|
||||
|
||||
user_badges = user_badges.includes(:user, :granted_by, badge: :badge_type)
|
||||
|
||||
render_serialized(user_badges, UserBadgeSerializer, root: "user_badges")
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user