Add ability to require e-mail verification
This commit is contained in:
@@ -124,6 +124,8 @@ class ProfileController extends Controller {
|
||||
|
||||
async update(req, res, next) {
|
||||
const User = this.models.get('auth:User')
|
||||
const Message = this.models.get('Message')
|
||||
const Setting = this.models.get('Setting')
|
||||
|
||||
let user
|
||||
if ( req.params.user_id === 'me' ) user = req.user
|
||||
@@ -155,6 +157,11 @@ class ProfileController extends Controller {
|
||||
.api()
|
||||
|
||||
// Update the user's profile
|
||||
if ( user.email !== req.body.email && (await Setting.get('auth.require_email_verify')) ) {
|
||||
await req.trap.begin('verify_email', { session_only: false })
|
||||
await Message.create(req.user, 'Your e-mail address has changed, and a verification e-mail has been sent. You must complete this process to continue.')
|
||||
}
|
||||
|
||||
user.first_name = req.body.first_name
|
||||
user.last_name = req.body.last_name
|
||||
user.email = req.body.email
|
||||
@@ -163,7 +170,9 @@ class ProfileController extends Controller {
|
||||
|
||||
// Save the record
|
||||
await user.save()
|
||||
return res.api()
|
||||
return res.api({
|
||||
force_message_refresh: true,
|
||||
})
|
||||
}
|
||||
|
||||
async update_photo(req, res, next) {
|
||||
|
||||
Reference in New Issue
Block a user