Skip to content

Commit e5b6855

Browse files
committed
[#68702] User filter matches group membership
1 parent 0aee13a commit e5b6855

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

app/models/queries/filters/shared/custom_fields/user.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,30 @@ class User < ListOptional
4141
def allowed_values
4242
@allowed_values ||= me_allowed_value + super
4343
end
44+
45+
def values_replaced
46+
vals = super
47+
vals += group_members_added(vals)
48+
vals + user_groups_added(vals)
49+
end
50+
51+
private
52+
53+
def group_members_added(vals)
54+
::User
55+
.joins(:groups)
56+
.where(groups_users: { id: vals })
57+
.pluck(:id)
58+
.map(&:to_s)
59+
end
60+
61+
def user_groups_added(vals)
62+
Group
63+
.joins(:users)
64+
.where(users_users: { id: vals })
65+
.pluck(:id)
66+
.map(&:to_s)
67+
end
4468
end
4569
end
4670
end

app/models/queries/projects/filters/custom_field_filter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,6 @@
3030

3131
class Queries::Projects::Filters::CustomFieldFilter < Queries::Projects::Filters::Base
3232
include Queries::Filters::Shared::CustomFieldFilter
33+
3334
self.custom_field_context = ::Queries::Projects::CustomFieldContext
3435
end

0 commit comments

Comments
 (0)