mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
update reset password, creating email verification code also for user without memorized passphrase
This commit is contained in:
parent
90469fb94b
commit
d9769d95a1
@ -445,29 +445,28 @@ int Session::resetPassword(Poco::AutoPtr<controller::User> user, bool passphrase
|
||||
{
|
||||
mNewUser = user;
|
||||
mSessionUser = new User(user);
|
||||
auto em = EmailManager::getInstance();
|
||||
|
||||
// creating email verification code also for user without passphrase
|
||||
// first check if already exist
|
||||
mEmailVerificationCodeObject = controller::EmailVerificationCode::create(mNewUser->getModel()->getID(), model::table::EMAIL_OPT_IN_RESET_PASSWORD);
|
||||
auto foundCount = mEmailVerificationCodeObject->load(user->getModel()->getID(), model::table::EMAIL_OPT_IN_RESET_PASSWORD);
|
||||
auto emailVerificationModel = mEmailVerificationCodeObject->getModel();
|
||||
|
||||
UniLib::controller::TaskPtr insertEmailVerificationCode(
|
||||
new model::table::ModelInsertTask(emailVerificationModel, true, true)
|
||||
);
|
||||
insertEmailVerificationCode->scheduleTask(insertEmailVerificationCode);
|
||||
|
||||
if (passphraseMemorized) {
|
||||
// first check if already exist
|
||||
|
||||
mEmailVerificationCodeObject = controller::EmailVerificationCode::create(mNewUser->getModel()->getID(), model::table::EMAIL_OPT_IN_RESET_PASSWORD);
|
||||
auto foundCount = mEmailVerificationCodeObject->load(user->getModel()->getID(), model::table::EMAIL_OPT_IN_RESET_PASSWORD);
|
||||
if (foundCount) {
|
||||
return 1;
|
||||
}
|
||||
auto emailVerificationModel = mEmailVerificationCodeObject->getModel();
|
||||
|
||||
UniLib::controller::TaskPtr insertEmailVerificationCode(
|
||||
new model::table::ModelInsertTask(emailVerificationModel, true, true)
|
||||
);
|
||||
insertEmailVerificationCode->scheduleTask(insertEmailVerificationCode);
|
||||
UniLib::controller::TaskPtr sendEmail(new SendEmailTask(
|
||||
new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_RESET_PASSWORD),
|
||||
ServerConfig::g_CPUScheduler, 1)
|
||||
);
|
||||
sendEmail->setParentTaskPtrInArray(insertEmailVerificationCode, 0);
|
||||
sendEmail->scheduleTask(sendEmail);
|
||||
em->addEmail(new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_RESET_PASSWORD));
|
||||
}
|
||||
else {
|
||||
EmailManager::getInstance()->addEmail(new model::Email(user, model::EMAIL_ADMIN_RESET_PASSWORD_REQUEST_WITHOUT_MEMORIZED_PASSPHRASE));
|
||||
em->addEmail(new model::Email(user, model::EMAIL_ADMIN_RESET_PASSWORD_REQUEST_WITHOUT_MEMORIZED_PASSPHRASE));
|
||||
}
|
||||
|
||||
if (foundCount) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user