diff --git a/login_server/src/cpp/JSONInterface/JsonGetUserInfos.cpp b/login_server/src/cpp/JSONInterface/JsonGetUserInfos.cpp index ccfc6da02..7f13c7d29 100644 --- a/login_server/src/cpp/JSONInterface/JsonGetUserInfos.cpp +++ b/login_server/src/cpp/JSONInterface/JsonGetUserInfos.cpp @@ -19,7 +19,7 @@ Poco::UInt64 JsonGetUserInfos::readOrCreateEmailVerificationCode(int user_id, mo return emailVerificationCode->getModel()->getCode(); } catch (Poco::Exception& ex) { - ErrorList errors; + NotificationList errors; //printf("exception: %s\n", ex.displayText().data()); errors.addError(new ParamError("JsonGetUserInfos::readOrCreateEmailVerificationCode", "exception: ", ex.displayText())); errors.sendErrorsAsEmail(); diff --git a/login_server/src/cpp/JSONInterface/JsonSendEmail.cpp b/login_server/src/cpp/JSONInterface/JsonSendEmail.cpp index aff4b8c77..d8d0c8e2b 100644 --- a/login_server/src/cpp/JSONInterface/JsonSendEmail.cpp +++ b/login_server/src/cpp/JSONInterface/JsonSendEmail.cpp @@ -110,7 +110,7 @@ Poco::JSON::Object* JsonSendEmail::handle(Poco::Dynamic::Var params) { session = sm->getNewSession(); if (emailType == model::EMAIL_USER_RESET_PASSWORD) { - auto r = session->sendResetPasswordEmail(receiver_user, false); + auto r = session->sendResetPasswordEmail(receiver_user, false, receiver_user->getGroupBaseUrl()); if (1 == r) { return stateWarning("email already sended"); } diff --git a/login_server/src/cpp/JSONInterface/JsonUpdateUserInfos.cpp b/login_server/src/cpp/JSONInterface/JsonUpdateUserInfos.cpp index 7add880aa..4b55694af 100644 --- a/login_server/src/cpp/JSONInterface/JsonUpdateUserInfos.cpp +++ b/login_server/src/cpp/JSONInterface/JsonUpdateUserInfos.cpp @@ -123,7 +123,7 @@ Poco::JSON::Object* JsonUpdateUserInfos::handle(Poco::Dynamic::Var params) jsonErrorsArray.add("User.password isn't string"); } else { - ErrorList errors; + NotificationList errors; if (!sm->checkPwdValidation(value.toString(), &errors)) { jsonErrorsArray.add("User.password isn't valid"); jsonErrorsArray.add(errors.getErrorsArray()); diff --git a/login_server/src/cpp/SingletonManager/EmailManager.cpp b/login_server/src/cpp/SingletonManager/EmailManager.cpp index 2678e25ff..7a71ef989 100644 --- a/login_server/src/cpp/SingletonManager/EmailManager.cpp +++ b/login_server/src/cpp/SingletonManager/EmailManager.cpp @@ -95,7 +95,7 @@ int EmailManager::ThreadFunction() if (mPendingEmails.empty()) return 0; auto lm = LanguageManager::getInstance(); - ErrorList errors; + NotificationList errors; static const char* function_name = "PrepareEmailTask"; Poco::Net::SecureSMTPClientSession mailClientSession(mEmailAccount.url, mEmailAccount.port); diff --git a/login_server/src/cpp/controller/EmailVerificationCode.cpp b/login_server/src/cpp/controller/EmailVerificationCode.cpp index d3a3170aa..d685fd925 100644 --- a/login_server/src/cpp/controller/EmailVerificationCode.cpp +++ b/login_server/src/cpp/controller/EmailVerificationCode.cpp @@ -121,11 +121,16 @@ namespace controller { std::string EmailVerificationCode::getLink() { - std::string link = ServerConfig::g_frontend_checkEmailPath; + std::string link = mBaseUrl; + if (ServerConfig::g_frontend_checkEmailPath.size() > 1 && ServerConfig::g_frontend_checkEmailPath.data()[0] != '/') { + link += '/'; + } + link += ServerConfig::g_frontend_checkEmailPath; if (link.data()[link.size() - 1] != '/') { link += '/'; } link += std::to_string(getModel()->getCode()); + return link; } diff --git a/login_server/src/cpp/controller/User.cpp b/login_server/src/cpp/controller/User.cpp index 5f9dfe1fa..271ddf0bf 100644 --- a/login_server/src/cpp/controller/User.cpp +++ b/login_server/src/cpp/controller/User.cpp @@ -81,7 +81,7 @@ namespace controller { select.execute(); } catch (Poco::Exception& ex) { - ErrorList errors; + NotificationList errors; errors.addError(new ParamError(functionName, "mysql error ", ex.displayText())); errors.addError(new ParamError(functionName, "search string", searchString)); errors.addError(new ParamError(functionName, "account state", accountState)); diff --git a/login_server/src/cpp/model/Session.cpp b/login_server/src/cpp/model/Session.cpp index 87090d243..dd86471e2 100644 --- a/login_server/src/cpp/model/Session.cpp +++ b/login_server/src/cpp/model/Session.cpp @@ -410,6 +410,9 @@ int Session::sendResetPasswordEmail(Poco::AutoPtr user, bool p else { email_already_send = true; } + if (baseUrl.size() > 0) { + mEmailVerificationCodeObject->setBaseUrl(baseUrl); + } auto email_verification_model = mEmailVerificationCodeObject->getModel(); if (email_already_send) { auto time_elapsed = Poco::DateTime() - email_verification_model->getUpdated(); @@ -420,7 +423,6 @@ int Session::sendResetPasswordEmail(Poco::AutoPtr user, bool p if (!frequent_resend) { if (passphraseMemorized) { - mEmailVerificationCodeObject->setBaseUrl(baseUrl); em->addEmail(new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_RESET_PASSWORD)); } else { diff --git a/login_server/src/cpp/tasks/Thread.cpp b/login_server/src/cpp/tasks/Thread.cpp index a044e1f22..7815bb2f6 100644 --- a/login_server/src/cpp/tasks/Thread.cpp +++ b/login_server/src/cpp/tasks/Thread.cpp @@ -1,7 +1,7 @@ //#include "lib/Thread.h" //#include "UniversumLib.h" #include "Thread.h" -#include "../lib/ErrorList.h" +#include "../lib/NotificationList.h" namespace UniLib { namespace lib { @@ -57,7 +57,7 @@ namespace UniLib { void Thread::run() { static const char* function_name = "Thread::run"; - ErrorList errors; + NotificationList errors; //Thread* t = this; while (true) { try {