mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 16:34:31 +08:00
automatically approve invited users on forum where moderators must approve (keep in mind only moderators can invite)
speed up specs a touch allow invite controller to accept an email in absence of user (cleans up API)
This commit is contained in:
@ -190,12 +190,20 @@ class TopicsController < ApplicationController
|
||||
end
|
||||
|
||||
def invite
|
||||
params.require(:user)
|
||||
username_or_email = params[:user]
|
||||
if username_or_email
|
||||
# provides a level of protection for hashes
|
||||
params.require(:user)
|
||||
else
|
||||
params.require(:email)
|
||||
username_or_email = params[:email]
|
||||
end
|
||||
|
||||
topic = Topic.where(id: params[:topic_id]).first
|
||||
guardian.ensure_can_invite_to!(topic)
|
||||
|
||||
if topic.invite(current_user, params[:user])
|
||||
user = User.find_by_username_or_email(params[:user])
|
||||
if topic.invite(current_user, username_or_email)
|
||||
user = User.find_by_username_or_email(username_or_email)
|
||||
if user
|
||||
render_json_dump BasicUserSerializer.new(user, scope: guardian, root: 'user')
|
||||
else
|
||||
|
Reference in New Issue
Block a user