DEV: Change to use UserLookup for core change (#77)

See https://github.com/discourse/discourse/pull/10253
This commit is contained in:
David Taylor 2020-07-17 10:47:36 +01:00 committed by GitHub
parent 188b5602ff
commit a8310b4bfa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -96,10 +96,13 @@ module DiscourseAssign
Topic.preload_custom_fields(topics, TopicList.preloaded_custom_fields)
# TODO Drop AvatarLookup after Discourse 2.6.0 release
lookup_columns = defined?(UserLookup) ? UserLookup.lookup_columns : AvatarLookup.lookup_columns
users = User
.where("users.id IN (SELECT value::int FROM topic_custom_fields WHERE name = 'assigned_to_id' AND topic_id IN (?))", topics.map(&:id))
.joins('join user_emails on user_emails.user_id = users.id AND user_emails.primary')
.select(AvatarLookup.lookup_columns)
.select(lookup_columns)
.to_a
# TODO Drop after Discourse 2.6.0 release

View File

@ -130,14 +130,16 @@ after_initialize do
can_assign = topic_list.current_user && topic_list.current_user.can_assign?
allowed_access = SiteSetting.assigns_public || can_assign
# TODO Drop AvatarLookup after Discourse 2.6.0 release
lookup_columns = defined?(UserLookup) ? UserLookup.lookup_columns : AvatarLookup.lookup_columns
if allowed_access && topics.length > 0
users = User.where("users.id in (
SELECT value::int
FROM topic_custom_fields
WHERE name = 'assigned_to_id' AND topic_id IN (?)
)", topics.map(&:id))
.joins('join user_emails on user_emails.user_id = users.id AND user_emails.primary')
.select(AvatarLookup.lookup_columns)
.select(lookup_columns)
map = {}
users.each { |u| map[u.id] = u }