diff --git a/src/blackcore/db/databaseauthentication.cpp b/src/blackcore/db/databaseauthentication.cpp index 2e305f61c..20ba89ac5 100644 --- a/src/blackcore/db/databaseauthentication.cpp +++ b/src/blackcore/db/databaseauthentication.cpp @@ -121,15 +121,22 @@ namespace BlackCore return; } - QJsonObject jsonObj(Json::jsonObjectFromString(json)); - CAuthenticatedUser user(CAuthenticatedUser::fromDatabaseJson(jsonObj)); - - CStatusMessageList msgs; static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()})); + QJsonObject jsonObj(Json::jsonObjectFromString(json)); + CAuthenticatedUser user = CAuthenticatedUser::fromDatabaseJson(jsonObj.contains("user") ? jsonObj["user"].toObject() : jsonObj); + CStatusMessageList msgs; + if (jsonObj.contains("messages")) + { + msgs = CStatusMessageList::fromDatabaseJson(jsonObj["messages"].toArray()); + msgs.setCategories(cats); + } if (!user.isAuthenticated() || !user.isValid()) { - msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Cannot login, user or password wrong")); + if (!msgs.hasErrorMessages()) + { + msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Cannot login, user or password wrong")); + } } else { diff --git a/src/blackgui/components/dblogincomponent.cpp b/src/blackgui/components/dblogincomponent.cpp index 72c785993..dbcabaa76 100644 --- a/src/blackgui/components/dblogincomponent.cpp +++ b/src/blackgui/components/dblogincomponent.cpp @@ -54,6 +54,7 @@ namespace BlackGui connect(ui->pb_Login, &QPushButton::clicked, this, &CDbLoginComponent::ps_onLoginClicked); connect(ui->pb_Logoff, &QPushButton::clicked, this, &CDbLoginComponent::ps_onLogoffClicked); connect(&m_loginService, &CDatabaseAuthenticationService::userAuthenticationFinished, this, &CDbLoginComponent::ps_AuthenticationFinished); + connect(ui->le_Password, &QLineEdit::returnPressed, this, &CDbLoginComponent::ps_onLoginClicked); } CDbLoginComponent::~CDbLoginComponent()