mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 20:04:42 +08:00
SECURITY: Ensure user can see group and group members
This commit is contained in:
@ -12,7 +12,12 @@ class DirectoryItemsController < ApplicationController
|
||||
result = DirectoryItem.where(period_type: period_type).includes(:user)
|
||||
|
||||
if params[:group]
|
||||
result = result.includes(user: :groups).where(users: { groups: { name: params[:group] } })
|
||||
group = Group.find_by(name: params[:group])
|
||||
raise Discourse::InvalidParameters.new(:group) if group.blank?
|
||||
guardian.ensure_can_see!(group)
|
||||
guardian.ensure_can_see_group_members!(group)
|
||||
|
||||
result = result.includes(user: :groups).where(users: { groups: { id: group.id } })
|
||||
else
|
||||
result = result.includes(user: :primary_group)
|
||||
end
|
||||
|
Reference in New Issue
Block a user