diff --git a/DataBaseLMS/interfacedatabaselms.cpp b/DataBaseLMS/interfacedatabaselms.cpp index 00652ca..944ad9a 100644 --- a/DataBaseLMS/interfacedatabaselms.cpp +++ b/DataBaseLMS/interfacedatabaselms.cpp @@ -51,6 +51,11 @@ bool InterfaceDataBaseLMS::AuthorizationInstructor(QString login, QString passwo if(int id = selectInstructorID(login, password)) { + if(isArchivedInstructor(id)) + { + transactionEnd(); + return false; + } if(updateInstructorLoggedIn(id, true)) return transactionEnd(); } @@ -174,6 +179,11 @@ bool InterfaceDataBaseLMS::AuthorizationTrainee(QString login, QString password, if(int id = selectTraineeID(login, password)) { + if(isArchivedTrainee(id)) + { + transactionEnd(); + return false; + } if(updateTraineeLoggedIn(id, true)) return transactionEnd(); } diff --git a/ServerLMS/Systems/processingsystem.cpp b/ServerLMS/Systems/processingsystem.cpp index 6833c26..599866e 100644 --- a/ServerLMS/Systems/processingsystem.cpp +++ b/ServerLMS/Systems/processingsystem.cpp @@ -48,19 +48,8 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien QString traineeName; QByteArray arrayAnswer; - 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 if(providerDBLMS->authorizationInstructor(clientAutorization.Login, clientAutorization.Password)) + if(providerDBLMS->authorizationInstructor(clientAutorization.Login, clientAutorization.Password)) {//Авторизуется инструктор 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); } + 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 {//Никто не авторизовался arrayAnswer = dataParser->ClientAnswer()->authorization(false, "", "", "", "");