don't load user's roles for announcement unless needed

Change-Id: If2a7460bb3330abec626d3599c1e7059ff902580
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/250042
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
This commit is contained in:
Cody Cutrer 2020-10-13 15:04:04 -06:00
parent a2059d44fe
commit f31e2a59eb
1 changed files with 5 additions and 4 deletions

View File

@ -161,10 +161,11 @@ class AccountNotification < ActiveRecord::Base
end
end
roles = user.enrollments.shard(user.in_region_associated_shards).active_or_pending_by_date.distinct.pluck(:type)
if roles == ['StudentEnrollment'] && !root_account.include_students_in_global_survey?
current.reject! { |announcement| announcement.required_account_service == 'account_survey_notifications' }
if !root_account.include_students_in_global_survey? && current.any? { |a| a.required_account_service == 'account_survey_notifications' }
roles = user.enrollments.shard(user.in_region_associated_shards).active_or_pending_by_date.distinct.pluck(:type)
if roles == ['StudentEnrollment']
current.reject! { |announcement| announcement.required_account_service == 'account_survey_notifications' }
end
end
end