mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 03:16:41 +08:00
FIX: when creating new PM username/groupname should be case-insensitive
https://meta.discourse.org/t/case-sensitivity-in-links-to-groupname/147596 https://meta.discourse.org/t/remove-case-sensitive-in-adding-users-to-a-message/151275
This commit is contained in:
parent
631024ae5d
commit
2be79d94f5
|
@ -747,8 +747,8 @@ class PostsController < ApplicationController
|
|||
end
|
||||
|
||||
if recipients
|
||||
recipients = recipients.split(",")
|
||||
groups = Group.messageable(current_user).where('name in (?)', recipients).pluck('name')
|
||||
recipients = recipients.split(",").map(&:downcase)
|
||||
groups = Group.messageable(current_user).where('lower(name) in (?)', recipients).pluck('name')
|
||||
recipients -= groups
|
||||
emails = recipients.select { |user| user.match(/@/) }
|
||||
recipients -= emails
|
||||
|
|
|
@ -208,10 +208,10 @@ class TopicCreator
|
|||
def add_users(topic, usernames)
|
||||
return unless usernames
|
||||
|
||||
names = usernames.split(',').flatten
|
||||
names = usernames.split(',').map(&:downcase).flatten
|
||||
len = 0
|
||||
|
||||
User.includes(:user_option).where(username: names).find_each do |user|
|
||||
User.includes(:user_option).where(username_lower: names).find_each do |user|
|
||||
check_can_send_permission!(topic, user)
|
||||
@added_users << user
|
||||
topic.topic_allowed_users.build(user_id: user.id)
|
||||
|
|
|
@ -825,7 +825,7 @@ describe PostsController do
|
|||
post "/posts.json", params: {
|
||||
raw: 'I can haz a test',
|
||||
title: 'I loves my test',
|
||||
target_recipients: group.name,
|
||||
target_recipients: "test_Group",
|
||||
archetype: Archetype.private_message
|
||||
}
|
||||
|
||||
|
@ -965,13 +965,13 @@ describe PostsController do
|
|||
|
||||
it 'creates a private post' do
|
||||
user_2 = Fabricate(:user)
|
||||
user_3 = Fabricate(:user)
|
||||
user_3 = Fabricate(:user, username: "foo_bar")
|
||||
|
||||
post "/posts.json", params: {
|
||||
raw: 'this is the test content',
|
||||
archetype: 'private_message',
|
||||
title: "this is some post",
|
||||
target_recipients: "#{user_2.username},#{user_3.username}"
|
||||
target_recipients: "#{user_2.username},Foo_Bar"
|
||||
}
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
|
|
Loading…
Reference in New Issue
Block a user