mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 20:41:24 +08:00
DEV: Confirm email when creating users via the API
This commit is for a frequently requested task on meta so that only 1 API call is needed instead of 3! In order to create a user via the api and not have them receive an activation email you can pass in the `active=true` flag. This prevents sending an email, but it is only half of the solution and puts the db in a weird state where it has an active user with an unconfirmed email. This commit fixes that and ensures that if the `active=true` flag is set the user's email is also marked as confirmed. This change only applies to admins using the API. Related topics on meta: - https://meta.discourse.org/t/-/68663 - https://meta.discourse.org/t/-/33133 - https://meta.discourse.org/t/-/36133
This commit is contained in:
@ -507,8 +507,10 @@ class UsersController < ApplicationController
|
||||
session["user_created_message"] = activation.message
|
||||
session[SessionController::ACTIVATE_USER_KEY] = user.id
|
||||
|
||||
# If the user was created as active, they might need to be approved
|
||||
user.create_reviewable if user.active?
|
||||
# If the user was created as active this will
|
||||
# ensure their email is confirmed and
|
||||
# add them to the review queue if they need to be approved
|
||||
user.activate if user.active?
|
||||
|
||||
render json: {
|
||||
success: true,
|
||||
|
Reference in New Issue
Block a user