diff --git a/src/cpp/HTTPInterface/CheckEmailPage.cpp b/src/cpp/HTTPInterface/CheckEmailPage.cpp index 557e737bd..29b426732 100644 --- a/src/cpp/HTTPInterface/CheckEmailPage.cpp +++ b/src/cpp/HTTPInterface/CheckEmailPage.cpp @@ -14,6 +14,7 @@ enum PageState { MAIL_NOT_SEND, ASK_VERIFICATION_CODE, + EMAIL_ACTIVATED, KONTO_ALREADY_EXIST }; #line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" @@ -35,7 +36,7 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); -#line 18 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" +#line 19 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" const char* pageName = "Email Verification"; auto lm = LanguageManager::getInstance(); @@ -44,36 +45,45 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: auto langCatalog = lm->getFreeCatalog(lang); unsigned long long verificationCode = 0; - if(!form.empty()) { - auto langBtn = form.get("lang-btn", ""); - auto verficationCodeStr = form.get("email-verification-code", "0"); - try { - verificationCode = stoull(verficationCodeStr); - } catch(...) { - verificationCode = 0; - } - auto updatedLang = LANG_NULL; - if(langBtn != "") { - lang = chooseLanguage(request, langBtn); - langCatalog = lm->getFreeCatalog(lang); - } - } - - // remove old cookies if exist - auto sm = SessionManager::getInstance(); - sm->deleteLoginCookies(request, response, mSession); PageState state = ASK_VERIFICATION_CODE; - if(mSession) { - getErrors(mSession); - if(mSession->getSessionState() < SESSION_STATE_EMAIL_VERIFICATION_SEND) { - //state = MAIL_NOT_SEND; + + if(mSession && model::table::EMAIL_OPT_IN_REGISTER_DIRECT == mSession->getEmailVerificationType()) + { + state = EMAIL_ACTIVATED; + } + else + { + + if(!form.empty()) { + auto langBtn = form.get("lang-btn", ""); + auto verficationCodeStr = form.get("email-verification-code", "0"); + try { + verificationCode = stoull(verficationCodeStr); + } catch(...) { + verificationCode = 0; + } + auto updatedLang = LANG_NULL; + if(langBtn != "") { + lang = chooseLanguage(request, langBtn); + langCatalog = lm->getFreeCatalog(lang); + } + } + + // remove old cookies if exist + auto sm = SessionManager::getInstance(); + sm->deleteLoginCookies(request, response, mSession); + + if(mSession) { + getErrors(mSession); + if(mSession->getSessionState() < SESSION_STATE_EMAIL_VERIFICATION_SEND) { + //state = MAIL_NOT_SEND; + } + } + auto hasErrors = errorCount() > 0; + if(!verificationCode) { + verificationCode = getLastGetAsU64(request.getURI()); } } - auto hasErrors = errorCount() > 0; - if(!verificationCode) { - verificationCode = getLastGetAsU64(request.getURI()); - } - #line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" bool withMaterialIcons = false; @@ -130,20 +140,20 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: responseStream << "
<%= langCatalog->gettext("Deine E-Mail wurde erfolgreich bestätigt. Du kannst nun Gradidos versenden.") %>
+ <%= langCatalog->gettext("Zur Startseite") %> + <% } else { %>