mirror of
https://github.com/IT4Change/gradido.git
synced 2026-04-06 01:25:28 +00:00
adding fix for rare occasion if mysql connection failed during test if user exist,
This commit is contained in:
parent
8b9614cb00
commit
24c37fe11e
@ -197,14 +197,21 @@ void HandleElopageRequestTask::writeUserIntoDB()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int HandleElopageRequestTask::getUserIdFromDB()
|
int HandleElopageRequestTask::getUserIdFromDB(bool checkEmail /* = false*/)
|
||||||
{
|
{
|
||||||
auto cm = ConnectionManager::getInstance();
|
auto cm = ConnectionManager::getInstance();
|
||||||
auto session = cm->getConnection(CONNECTION_MYSQL_LOGIN_SERVER);
|
auto session = cm->getConnection(CONNECTION_MYSQL_LOGIN_SERVER);
|
||||||
Poco::Data::Statement select(session);
|
Poco::Data::Statement select(session);
|
||||||
std::vector<int> user_ids;
|
std::vector<int> user_ids;
|
||||||
select << "SELECT id from users where email = ?;",
|
std::vector<bool> email_checked;
|
||||||
into(user_ids), use(mEmail);
|
if (checkEmail) {
|
||||||
|
select << "SELECT id, email_checked from users where email = ?;",
|
||||||
|
into(user_ids), into(email_checked), use(mEmail);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
select << "SELECT id from users where email = ?;",
|
||||||
|
into(user_ids), use(mEmail);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
select.execute();
|
select.execute();
|
||||||
}
|
}
|
||||||
@ -226,6 +233,10 @@ int HandleElopageRequestTask::getUserIdFromDB()
|
|||||||
sendErrorsAsEmail();
|
sendErrorsAsEmail();
|
||||||
}
|
}
|
||||||
if (user_ids.size() >= 1) {
|
if (user_ids.size() >= 1) {
|
||||||
|
if (email_checked.size() >= 1 && email_checked[0]) {
|
||||||
|
addError(new Error("HandleElopageRequestTask::getUserIdFromDB", "user account already activated"));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return user_ids[0];
|
return user_ids[0];
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -333,8 +344,9 @@ int HandleElopageRequestTask::run()
|
|||||||
writeUserIntoDB();
|
writeUserIntoDB();
|
||||||
|
|
||||||
// get user id from db
|
// get user id from db
|
||||||
int user_id = getUserIdFromDB();
|
int user_id = getUserIdFromDB(true);
|
||||||
// we didn't get a user_id, something went wrong
|
// we didn't get a user_id, something went wrong
|
||||||
|
// maybe user already exist
|
||||||
if (!user_id) {
|
if (!user_id) {
|
||||||
addError(new Error("User loadEntryDBId", "user_id is zero"));
|
addError(new Error("User loadEntryDBId", "user_id is zero"));
|
||||||
addError(param_error_order_id);
|
addError(param_error_order_id);
|
||||||
|
|||||||
@ -28,7 +28,7 @@ protected:
|
|||||||
// return true if at least one entry in db with this email exist
|
// return true if at least one entry in db with this email exist
|
||||||
bool validateInput();
|
bool validateInput();
|
||||||
void writeUserIntoDB();
|
void writeUserIntoDB();
|
||||||
int getUserIdFromDB();
|
int getUserIdFromDB(bool checkEmail = false);
|
||||||
|
|
||||||
Poco::Net::NameValueCollection mRequestData;
|
Poco::Net::NameValueCollection mRequestData;
|
||||||
std::string mEmail;
|
std::string mEmail;
|
||||||
|
|||||||
@ -99,14 +99,14 @@ enum PageState
|
|||||||
<p><label style="width:auto" for="memo-text">E-Mail Text:</label></p>
|
<p><label style="width:auto" for="memo-text">E-Mail Text:</label></p>
|
||||||
<pre>Liebe(r) <%= user->getModel()->getFirstName() %>,
|
<pre>Liebe(r) <%= user->getModel()->getFirstName() %>,
|
||||||
|
|
||||||
hier findst du deine Passphrase mit dessen Hilfe du dir ein neues Passwort einstellen kannst.
|
hier findest du deine Passphrase mit dessen Hilfe du dir ein neues Passwort einstellen kannst.
|
||||||
Bitte schreibe sie dir auf und packe sie gut weg.
|
Bitte schreibe sie dir auf und packe sie gut weg.
|
||||||
|
|
||||||
<%= controller::UserBackups::formatPassphrase(userBackup->getPassphrase(ServerConfig::Mnemonic_Types::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER)) %>
|
<%= controller::UserBackups::formatPassphrase(userBackup->getPassphrase(ServerConfig::Mnemonic_Types::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER)) %>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Unter diesem Link kannst du dir mit hilfe der Passphrase ein neues Passwort setzen:
|
Unter diesem Link kannst du dir mit Hilfe der Passphrase ein neues Passwort setzen:
|
||||||
<%= code->getLink() %>
|
<%= code->getLink() %>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user