mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
catch exception by calling load user
This commit is contained in:
parent
d9132e1f98
commit
0aace4f027
@ -96,14 +96,21 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
} else {
|
||||
langCatalog = mSession->getLanguageCatalog();
|
||||
}
|
||||
auto userState = mSession->loadUser(email, password);
|
||||
UserStates user_state;
|
||||
try {
|
||||
user_state = mSession->loadUser(email, password);
|
||||
} catch (Poco::Exception& ex) {
|
||||
addError(new ParamError("login", "exception by calling loadUser: ", ex.displayText()));
|
||||
sendErrorsAsEmail();
|
||||
addError(new Error("Error", "Intern Server error, please try again later"));
|
||||
}
|
||||
auto user = mSession->getNewUser();
|
||||
|
||||
if(userState >= USER_LOADED_FROM_DB && !user->getModel()->getPublicKey()) {
|
||||
if(user_state >= USER_LOADED_FROM_DB && !user->getModel()->getPublicKey()) {
|
||||
if(mSession->generateKeys(true, true)) {
|
||||
userState = USER_COMPLETE;
|
||||
user_state = USER_COMPLETE;
|
||||
if(user->getModel()->isDisabled()) {
|
||||
userState = USER_DISABLED;
|
||||
user_state = USER_DISABLED;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -114,9 +121,9 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
auto uri_start = request.serverParams().getServerName();
|
||||
auto lastExternReferer = mSession->getLastReferer();
|
||||
|
||||
printf("userState: %d\n", userState);
|
||||
printf("user_state: %d\n", user_state);
|
||||
|
||||
switch(userState) {
|
||||
switch(user_state) {
|
||||
case USER_EMPTY:
|
||||
case USER_PASSWORD_INCORRECT:
|
||||
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("E-Mail or password isn't right, please try again!")), false);
|
||||
@ -234,11 +241,11 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << " </div>";
|
||||
// end include header.cpsp
|
||||
responseStream << "\n";
|
||||
#line 160 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 167 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( getErrorsHtml() );
|
||||
responseStream << "\n";
|
||||
responseStream << "<!--<input type=\"hidden\" name=\"lang\" value=\"";
|
||||
#line 161 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 168 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( LanguageManager::keyForLanguage(lang) );
|
||||
responseStream << "\">-->\n";
|
||||
responseStream << "<div class=\"center-form-container\">\n";
|
||||
@ -272,22 +279,22 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << "\n";
|
||||
responseStream << " <div class=\"center-form-form\">\n";
|
||||
responseStream << "\t\t<form action=\"";
|
||||
#line 165 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 172 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_serverPath );
|
||||
responseStream << "/\" method=\"POST\">\n";
|
||||
responseStream << "\t\t\t<input class=\"form-control\" type=\"text\" name=\"login-email\" placeholder=\"";
|
||||
#line 166 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 173 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("E-Mail") );
|
||||
responseStream << "\" value=\"";
|
||||
#line 166 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 173 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( presetEmail );
|
||||
responseStream << "\"/>\n";
|
||||
responseStream << "\t\t\t<input class=\"form-control\" type=\"password\" name=\"login-password\" placeholder=\"";
|
||||
#line 167 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 174 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("Password") );
|
||||
responseStream << "\" />\n";
|
||||
responseStream << "\t\t <button type=\"submit\" name=\"submit\" class=\"center-form-submit form-button\">";
|
||||
#line 168 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 175 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext(" Login ") );
|
||||
responseStream << "</button>\n";
|
||||
responseStream << "\t\t</form>\n";
|
||||
@ -295,25 +302,25 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << " <div class=\"center-form-bottom\">\n";
|
||||
responseStream << " <div class=\"signup-link\">\n";
|
||||
responseStream << "\t <p>";
|
||||
#line 173 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 180 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t <a href=\"";
|
||||
#line 174 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 181 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_serverPath );
|
||||
responseStream << "/registerDirect\">\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 175 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 182 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("Create New Account") );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t </a>\n";
|
||||
responseStream << "\t </div>\n";
|
||||
responseStream << "\t\t<div class=\"reset-pwd-link\">\n";
|
||||
responseStream << "\t\t\t<a href=\"";
|
||||
#line 179 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 186 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_serverPath );
|
||||
responseStream << "/resetPassword\">";
|
||||
#line 179 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
#line 186 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("Passwort vergessen") );
|
||||
responseStream << "</a>\n";
|
||||
responseStream << "\t\t</div>\n";
|
||||
|
||||
@ -75,14 +75,21 @@
|
||||
} else {
|
||||
langCatalog = mSession->getLanguageCatalog();
|
||||
}
|
||||
auto userState = mSession->loadUser(email, password);
|
||||
UserStates user_state;
|
||||
try {
|
||||
user_state = mSession->loadUser(email, password);
|
||||
} catch (Poco::Exception& ex) {
|
||||
addError(new ParamError("login", "exception by calling loadUser: ", ex.displayText()));
|
||||
sendErrorsAsEmail();
|
||||
addError(new Error("Error", "Intern Server error, please try again later"));
|
||||
}
|
||||
auto user = mSession->getNewUser();
|
||||
|
||||
if(userState >= USER_LOADED_FROM_DB && !user->getModel()->getPublicKey()) {
|
||||
if(user_state >= USER_LOADED_FROM_DB && !user->getModel()->getPublicKey()) {
|
||||
if(mSession->generateKeys(true, true)) {
|
||||
userState = USER_COMPLETE;
|
||||
user_state = USER_COMPLETE;
|
||||
if(user->getModel()->isDisabled()) {
|
||||
userState = USER_DISABLED;
|
||||
user_state = USER_DISABLED;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -93,9 +100,9 @@
|
||||
auto uri_start = request.serverParams().getServerName();
|
||||
auto lastExternReferer = mSession->getLastReferer();
|
||||
|
||||
printf("userState: %d\n", userState);
|
||||
printf("user_state: %d\n", user_state);
|
||||
|
||||
switch(userState) {
|
||||
switch(user_state) {
|
||||
case USER_EMPTY:
|
||||
case USER_PASSWORD_INCORRECT:
|
||||
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("E-Mail or password isn't right, please try again!")), false);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user