Запрет залогинивания архивных

This commit is contained in:
krivoshein
2025-01-29 15:40:31 +03:00
parent bcc8d52b19
commit c9c433cf6b
2 changed files with 26 additions and 12 deletions

View File

@@ -51,6 +51,11 @@ bool InterfaceDataBaseLMS::AuthorizationInstructor(QString login, QString passwo
if(int id = selectInstructorID(login, password)) if(int id = selectInstructorID(login, password))
{ {
if(isArchivedInstructor(id))
{
transactionEnd();
return false;
}
if(updateInstructorLoggedIn(id, true)) if(updateInstructorLoggedIn(id, true))
return transactionEnd(); return transactionEnd();
} }
@@ -174,6 +179,11 @@ bool InterfaceDataBaseLMS::AuthorizationTrainee(QString login, QString password,
if(int id = selectTraineeID(login, password)) if(int id = selectTraineeID(login, password))
{ {
if(isArchivedTrainee(id))
{
transactionEnd();
return false;
}
if(updateTraineeLoggedIn(id, true)) if(updateTraineeLoggedIn(id, true))
return transactionEnd(); return transactionEnd();
} }

View File

@@ -48,19 +48,8 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
QString traineeName; QString traineeName;
QByteArray arrayAnswer; QByteArray arrayAnswer;
if(providerDBLMS->authorizationTrainee(clientAutorization.Login, clientAutorization.Password, "", ""))
{//Авторизуется обучаемый
client->getClient()->setLogin(clientAutorization.Login); if(providerDBLMS->authorizationInstructor(clientAutorization.Login, clientAutorization.Password))
emit sigUpdateListClients();
//KAV redact
instructorName = providerDBLMS->getMainInstructorName();
traineeName = providerDBLMS->getNameTraineeByLogin(clientAutorization.Login);
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, traineeName, "trainee", clientAutorization.Login);
}
else if(providerDBLMS->authorizationInstructor(clientAutorization.Login, clientAutorization.Password))
{//Авторизуется инструктор {//Авторизуется инструктор
client->getClient()->setLogin(clientAutorization.Login); client->getClient()->setLogin(clientAutorization.Login);
@@ -71,6 +60,21 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, instructorName, "instructor", clientAutorization.Login); arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, instructorName, "instructor", clientAutorization.Login);
} }
else if(clientAutorization.TypeClient != TypeClientAutorization::TYPE_GUI)
{
if(providerDBLMS->authorizationTrainee(clientAutorization.Login, clientAutorization.Password, "", ""))
{//Авторизуется обучаемый
client->getClient()->setLogin(clientAutorization.Login);
emit sigUpdateListClients();
//KAV redact
instructorName = providerDBLMS->getMainInstructorName();
traineeName = providerDBLMS->getNameTraineeByLogin(clientAutorization.Login);
arrayAnswer = dataParser->ClientAnswer()->authorization(true, instructorName, traineeName, "trainee", clientAutorization.Login);
}
}
else else
{//Никто не авторизовался {//Никто не авторизовался
arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", ""); arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", "");