use case insensitive communication channel address queries
fixes CNVS-16978 test plan - create a discussion topic - cause a reply-to-able notification about the topic to be sent to a user - lock the topic - change the user's email address to some non-standard capitalization scheme (all uppercase works fine) - reply to the notification - ensure that the user receives a message indicating that the topic was locked Change-Id: I78d53ce1f9affc76fd040c0e24e99bc1d4edb9e2 Reviewed-on: https://gerrit.instructure.com/54631 Tested-by: Jenkins Reviewed-by: Andrew Butterfield <abutterfield@instructure.com> QA-Review: Steven Shepherd <sshepherd@instructure.com> Product-Review: Joel Hough <joel@instructure.com>
This commit is contained in:
parent
625c1748e5
commit
9fee104a3b
|
@ -69,7 +69,7 @@ module IncomingMail
|
||||||
outgoing_message_delivered = false
|
outgoing_message_delivered = false
|
||||||
|
|
||||||
original_message.shard.activate do
|
original_message.shard.activate do
|
||||||
comch = CommunicationChannel.active.where(path: incoming_from, path_type: 'email').first
|
comch = CommunicationChannel.active.email.by_path(incoming_from).first
|
||||||
outgoing_message.communication_channel = comch
|
outgoing_message.communication_channel = comch
|
||||||
outgoing_message.user = comch.try(:user)
|
outgoing_message.user = comch.try(:user)
|
||||||
if outgoing_message.communication_channel
|
if outgoing_message.communication_channel
|
||||||
|
|
|
@ -393,7 +393,7 @@ class Pseudonym < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
self.save
|
self.save
|
||||||
if old_user_id
|
if old_user_id
|
||||||
CommunicationChannel.where(:path => self.unique_id, :user_id => old_user_id).update_all(:user_id => user)
|
CommunicationChannel.by_path(self.unique_id).where(:user_id => old_user_id).update_all(:user_id => user)
|
||||||
User.where(:id => [old_user_id, user]).update_all(:update_at => Time.now.utc)
|
User.where(:id => [old_user_id, user]).update_all(:update_at => Time.now.utc)
|
||||||
end
|
end
|
||||||
if User.find(old_user_id).pseudonyms.empty? && migrate
|
if User.find(old_user_id).pseudonyms.empty? && migrate
|
||||||
|
|
|
@ -802,7 +802,8 @@ class User < ActiveRecord::Base
|
||||||
if e.is_a?(CommunicationChannel) and e.user_id == self.id
|
if e.is_a?(CommunicationChannel) and e.user_id == self.id
|
||||||
cc = e
|
cc = e
|
||||||
else
|
else
|
||||||
cc = self.communication_channels.where(path: e, path_type: 'email').first_or_create
|
cc = self.communication_channels.email.by_path(e).first ||
|
||||||
|
self.communication_channels.email.create(path: e)
|
||||||
cc.user = self
|
cc.user = self
|
||||||
end
|
end
|
||||||
cc.move_to_top
|
cc.move_to_top
|
||||||
|
|
Loading…
Reference in New Issue