mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Сделал залогинивание, разлогинивание полностью рабочее
This commit is contained in:
@@ -11,6 +11,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||
dbLMS(nullptr),
|
||||
viewerTrainees(nullptr),
|
||||
viewerInstructors(nullptr),
|
||||
messangerWidget(nullptr),
|
||||
docTasksWidget(nullptr),
|
||||
adminMode(false),
|
||||
loginInstructorLoggedInLocal(QStringLiteral(""))
|
||||
{
|
||||
@@ -18,35 +20,31 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||
|
||||
connectorToServer = new ConnectorToServer(this);
|
||||
connect(connectorToServer,&ConnectorToServer::sigLoginResult,this,&InstructorsAndTraineesWidget::checkLoginResult);
|
||||
connect(connectorToServer,&ConnectorToServer::sigDeLoginResult,this,&InstructorsAndTraineesWidget::checkDeLoginResult);
|
||||
|
||||
dbLMS = new InterfaceDataBaseLMS(this);
|
||||
|
||||
connect(this, &InstructorsAndTraineesWidget::signal_LanguageChanged, dbLMS, &InterfaceDataBaseLMS::slot_LanguageChanged);
|
||||
|
||||
viewerTrainees = new ViewerTrainees(dbLMS);
|
||||
viewerInstructors = new ViewerInstructors(dbLMS);
|
||||
|
||||
messangerWidget = new MessangerWidget(this);
|
||||
|
||||
connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerTrainees, &ViewerTrainees::slot_NeedUpdateUI);
|
||||
connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerInstructors, &ViewerInstructors::slot_NeedUpdateUI);
|
||||
|
||||
connect(viewerInstructors, &ViewerInstructors::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
|
||||
connect(viewerTrainees, &ViewerTrainees::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
|
||||
|
||||
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::signal_traineeSelected);
|
||||
connect(this, &InstructorsAndTraineesWidget::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
|
||||
|
||||
ui->verticalLayout->addWidget(viewerTrainees);
|
||||
ui->verticalLayout->addWidget(viewerInstructors);
|
||||
ui->verticalLayout->addWidget(messangerWidget);
|
||||
messangerWidget = new MessangerWidget(this);
|
||||
|
||||
docTasksWidget = new DocTasksWidget(this);
|
||||
|
||||
ui->verticalLayout_1->addWidget(viewerTrainees);
|
||||
ui->verticalLayout_1->addWidget(viewerInstructors);
|
||||
ui->verticalLayout_1->addWidget(messangerWidget);
|
||||
ui->verticalLayout_2->addWidget(docTasksWidget);
|
||||
|
||||
viewerTrainees->setMinimumSize(1600, 600);
|
||||
viewerInstructors->setMinimumSize(1600, 300);
|
||||
|
||||
//ui->btnAuthorizationInstructor->setEnabled(false);
|
||||
|
||||
//ui->btnConnectionToDB->click();
|
||||
}
|
||||
|
||||
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
|
||||
@@ -62,6 +60,8 @@ InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
|
||||
dbLMS->DisConnectionFromDB();
|
||||
}
|
||||
|
||||
delete docTasksWidget;
|
||||
delete messangerWidget;
|
||||
delete viewerInstructors;
|
||||
delete viewerTrainees;
|
||||
delete dbLMS;
|
||||
@@ -86,7 +86,7 @@ void InstructorsAndTraineesWidget::changeEvent(QEvent *event)
|
||||
else
|
||||
ui->btnConnectionToDB->setText(tr("Connection DB"));
|
||||
|
||||
updateLabelLoggedInInstructor();
|
||||
updateLabelLoggedInInstructor(loginInstructorLoggedInLocal, "???");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
|
||||
{
|
||||
if (serverAuth->Result)
|
||||
{
|
||||
loginInstructorLoggedInLocal = serverAuth->ClientName;
|
||||
loginInstructorLoggedInLocal = serverAuth->Login;
|
||||
|
||||
if(loginInstructorLoggedInLocal == QStringLiteral("admin"))
|
||||
adminMode = true;
|
||||
@@ -114,11 +114,11 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
|
||||
viewerInstructors->setAuthComplited(true);
|
||||
viewerTrainees->setAuthComplited(true);
|
||||
|
||||
//Q_EMIT signal_NeedUpdateUI(true, true);
|
||||
Q_EMIT signal_NeedUpdateUI(true, true);
|
||||
|
||||
ui->btnAuthorizationInstructor->setText(tr("Deauthorization Instructor"));
|
||||
|
||||
//updateLabelLoggedInInstructor();
|
||||
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
|
||||
|
||||
//Q_EMIT signal_NeedUpdateUI(true, true);
|
||||
|
||||
@@ -130,7 +130,33 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
|
||||
}
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
|
||||
void InstructorsAndTraineesWidget::checkDeLoginResult(ServerDeAuthorization *serverDeAuth)
|
||||
{
|
||||
if (serverDeAuth->Result)
|
||||
{
|
||||
loginInstructorLoggedInLocal = QStringLiteral("");
|
||||
adminMode = false;
|
||||
|
||||
viewerInstructors->setAdminMode(adminMode);
|
||||
viewerTrainees->setAdminMode(adminMode);
|
||||
viewerInstructors->setAuthComplited(false);
|
||||
viewerTrainees->setAuthComplited(false);
|
||||
|
||||
Q_EMIT signal_NeedUpdateUI(true, false);
|
||||
|
||||
ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
|
||||
|
||||
updateLabelLoggedInInstructor("","");
|
||||
|
||||
QMessageBox::information(this, tr("Instructor deauthorization"), tr("Successfully!"));
|
||||
}
|
||||
else
|
||||
{
|
||||
QMessageBox::warning(this, tr("Instructor deauthorization"), tr("Error!"));
|
||||
}
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent)
|
||||
{
|
||||
DialogAuthorizationInstructor dlg(parent);
|
||||
dlg.setWindowTitle(tr("Instructor authorization"));
|
||||
@@ -160,115 +186,25 @@ bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::authorizationIsCompleted()
|
||||
{
|
||||
if(loginInstructorLoggedInLocal == QStringLiteral(""))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
Q_EMIT signal_BlockAutorization(true);
|
||||
|
||||
bool res = dbLMS->AuthorizationTrainee(login, password, classroom_name, computer_name);
|
||||
|
||||
Q_EMIT signal_BlockAutorization(false);
|
||||
|
||||
if(res)
|
||||
Q_EMIT signal_NeedUpdateUI(false, true);
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
Q_EMIT signal_BlockAutorization(true);
|
||||
|
||||
bool res = dbLMS->deAuthorizationTrainee(login);
|
||||
|
||||
Q_EMIT signal_BlockAutorization(false);
|
||||
|
||||
if(res)
|
||||
Q_EMIT signal_NeedUpdateUI(false, true);
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
}
|
||||
|
||||
QString InstructorsAndTraineesWidget::getNameTraineeByLogin(QString login)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return QStringLiteral("");
|
||||
}
|
||||
|
||||
QString res = dbLMS->getNameTraineeByLogin(login);
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::authorizationInstructor(QString login, QString password)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
Q_EMIT signal_BlockAutorization(true);
|
||||
|
||||
bool res = dbLMS->AuthorizationInstructor(login, password);
|
||||
|
||||
Q_EMIT signal_BlockAutorization(false);
|
||||
|
||||
if(res)
|
||||
Q_EMIT signal_NeedUpdateUI(true, false);
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
/*
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return false;
|
||||
}
|
||||
}*/
|
||||
|
||||
Q_EMIT signal_BlockAutorization(true);
|
||||
//Q_EMIT signal_BlockAutorization(true);
|
||||
|
||||
bool res = dbLMS->deAuthorizationInstructor(login);
|
||||
//bool res = dbLMS->deAuthorizationInstructor(login);
|
||||
connectorToServer->deAuthorizationInstructorLocal(login);
|
||||
|
||||
Q_EMIT signal_BlockAutorization(false);
|
||||
//Q_EMIT signal_BlockAutorization(false);
|
||||
|
||||
/*
|
||||
if(res)
|
||||
{
|
||||
if(loginInstructorLoggedInLocal == login)
|
||||
@@ -285,50 +221,21 @@ bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
|
||||
}
|
||||
else
|
||||
Q_EMIT signal_NeedUpdateUI(true, false);
|
||||
}
|
||||
|
||||
} */
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
return /*res*/true;
|
||||
}
|
||||
|
||||
QString InstructorsAndTraineesWidget::getNameInstructorByLogin(QString login)
|
||||
bool InstructorsAndTraineesWidget::authorizationIsCompleted()
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return QStringLiteral("");
|
||||
}
|
||||
|
||||
QString res = dbLMS->getNameInstructorByLogin(login);
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
if(loginInstructorLoggedInLocal == QStringLiteral(""))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
QString InstructorsAndTraineesWidget::getMainInstructorName()
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return QStringLiteral("");
|
||||
}
|
||||
|
||||
QString res = dbLMS->getNameInstructorByLogin(loginInstructorLoggedInLocal);
|
||||
|
||||
mtxAccess.unlock();
|
||||
return res;
|
||||
}
|
||||
/*
|
||||
QList<Trainee> InstructorsAndTraineesWidget::getListTrainees()
|
||||
{
|
||||
return dbLMS->getListTrainees();
|
||||
}
|
||||
*/
|
||||
|
||||
void InstructorsAndTraineesWidget::on_btnConnectionToDB_clicked()
|
||||
{
|
||||
bool stateIsChecked = ui->btnConnectionToDB->isChecked();
|
||||
@@ -384,7 +291,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
|
||||
|
||||
if(stateIsChecked)
|
||||
{//Авторизация Инструктора локальная (Администратора)
|
||||
if(authorizationInstructorLocal(this))
|
||||
if(authorizationInstructorDialog(this))
|
||||
{
|
||||
|
||||
}
|
||||
@@ -397,30 +304,30 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
|
||||
{
|
||||
if(deAuthorizationInstructor(loginInstructorLoggedInLocal))
|
||||
{
|
||||
ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
|
||||
//ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
|
||||
|
||||
//updateLabelLoggedInInstructor();
|
||||
|
||||
Q_EMIT signal_NeedUpdateUI(true, true);
|
||||
//Q_EMIT signal_NeedUpdateUI(true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor()
|
||||
void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor(QString login, QString name)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
/*
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
|
||||
if(authorizationIsCompleted())
|
||||
{
|
||||
QString nameLoggedInInstructor = QString("%1 (%2)").arg(
|
||||
dbLMS->getNameInstructorByLogin(loginInstructorLoggedInLocal), loginInstructorLoggedInLocal);
|
||||
QString nameLoggedInInstructor = QString("%1 (%2)").arg(name, login);
|
||||
ui->lblLoggedInInstructor->setText(nameLoggedInInstructor);
|
||||
if(loginInstructorLoggedInLocal == QStringLiteral("admin"))
|
||||
ui->lblLoggedIn->setPixmap(QPixmap(QStringLiteral(":/icons/admin.png")));
|
||||
@@ -436,18 +343,7 @@ void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor()
|
||||
mtxAccess.unlock();
|
||||
}
|
||||
|
||||
void InstructorsAndTraineesWidget::on_btnDocTasks_clicked()
|
||||
{
|
||||
DocTasksWidget docTasks(this);
|
||||
QDialog* dialog = new QDialog(this);
|
||||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||||
layout->addWidget(&docTasks);
|
||||
dialog->setWindowTitle(tr("Doc tasks"));
|
||||
dialog->setMinimumSize(1200, 800);
|
||||
dialog->exec();
|
||||
}
|
||||
|
||||
void InstructorsAndTraineesWidget::on_toolButton_clicked()
|
||||
void InstructorsAndTraineesWidget::on_btnUpdateStyleSheet_clicked()
|
||||
{
|
||||
viewerTrainees->updateMyStyleSheet();
|
||||
viewerInstructors->updateMyStyleSheet();
|
||||
|
||||
Reference in New Issue
Block a user