fix wrong branches

- check if user has password in db more accurate
- consider both register types
This commit is contained in:
einhornimmond 2021-07-15 13:48:12 +02:00
parent 61448747d5
commit be4d5c8eaa

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);