Merge pull request #642 from gradido/login_fix_638

Login fix wrong check email link
This commit is contained in:
einhornimmond 2021-07-15 14:01:12 +02:00 committed by GitHub
commit af7f0ebd92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View File

@ -299,7 +299,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::handleCheckEmail(Sessi
auto user_host = request.clientAddress().host();
session->setClientIp(user_host);
assert(session->getNewUser());
if (!session->getNewUser()->hasPassword()) {
if (!session->getNewUser()->getModel()->getPasswordHashed()) {
// user has no password, maybe account created from elopage webhook
return basicSetup(new UserUpdatePasswordPage(session), request, timeUsed);
}
@ -311,12 +311,13 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::handleCheckEmail(Sessi
*/
// update session, mark as verified
int retUpdateEmailVerification = session->updateEmailVerification(verificationCode);
printf("[%s] return from update email verification: %d\n", __FUNCTION__, retUpdateEmailVerification);
//printf("[%s] return from update email verification: %d\n", __FUNCTION__, retUpdateEmailVerification);
if (0 == retUpdateEmailVerification) {
//printf("[PageRequestHandlerFactory::handleCheckEmail] timeUsed: %s\n", timeUsed.string().data());
SessionHTTPRequestHandler* pageRequestHandler = nullptr;
if (model::table::EMAIL_OPT_IN_REGISTER_DIRECT == session->getEmailVerificationType()) {
printf("return check email page\n");
if (model::table::EMAIL_OPT_IN_REGISTER_DIRECT == session->getEmailVerificationType() ||
model::table::EMAIL_OPT_IN_REGISTER == session->getEmailVerificationType()) {
//printf("return check email page\n");
pageRequestHandler = new CheckEmailPage(session);
} else if(SESSION_STATE_RESET_PASSWORD_REQUEST == session->getSessionState()) {
pageRequestHandler = new UserUpdatePasswordPage(session);

View File

@ -274,7 +274,7 @@ bool Session::createUserDirect(const std::string& first_name, const std::string&
// email verification code
auto email_verification = controller::EmailVerificationCode::create(user_id, model::table::EMAIL_OPT_IN_REGISTER_DIRECT);
email_verification->setBaseUrl(baseUrl);
email_verification->setBaseUrl(baseUrl + "/checkEmail");
email_verification->getModel()->insertIntoDB(false);
mEmailVerificationCodeObject = email_verification;