preload email correctly (not backwards compat with stable)

This commit is contained in:
Sam 2017-08-29 12:49:31 -04:00
parent 1c70a81ac4
commit 70911cbd43
2 changed files with 21 additions and 11 deletions

View File

@ -263,12 +263,13 @@ SQL
allowed_access = SiteSetting.assigns_public || is_staff allowed_access = SiteSetting.assigns_public || is_staff
if allowed_access && topics.length > 0 if allowed_access && topics.length > 0
users = User.where("id in ( users = User.where("users.id in (
SELECT value::int SELECT value::int
FROM topic_custom_fields FROM topic_custom_fields
WHERE name = 'assigned_to_id' AND topic_id IN (?) WHERE name = 'assigned_to_id' AND topic_id IN (?)
)", topics.map(&:id)) )", topics.map(&:id))
.select(:id, :email, :username, :uploaded_avatar_id) .joins('join user_emails on user_emails.user_id = users.id AND user_emails.primary')
.select(:id, 'user_emails.email', :username, :uploaded_avatar_id)
map = {} map = {}
users.each { |u| map[u.id] = u } users.each { |u| map[u.id] = u }
@ -389,12 +390,10 @@ SQL
Discourse::Application.routes.append do Discourse::Application.routes.append do
mount ::DiscourseAssign::Engine, at: "/assign" mount ::DiscourseAssign::Engine, at: "/assign"
get "topics/private-messages-assigned/:username" => "list#private_messages_assigned", get "topics/private-messages-assigned/:username" => "list#private_messages_assigned", as: "topics_private_messages_assigned", constraints: { username: /[\w.\-]+?/ }
as: "topics_private_messages_assigned", constraints: {username: /[\w.\-]+?/}
end end
end end
on(:post_created) do |post| on(:post_created) do |post|
::TopicAssigner.auto_assign(post, force: true) ::TopicAssigner.auto_assign(post, force: true)
end end

View File

@ -0,0 +1,11 @@
require 'rails_helper'
describe 'integration tests' do
it 'preloads data in topic list' do
admin = Fabricate(:admin)
post = create_post
list = TopicList.new("latest", admin, [post.topic])
TopicList.preload([post.topic], list)
# should not explode for now
end
end