Начал реализовывать обмен запросами к БД

This commit is contained in:
krivoshein
2024-12-06 11:15:02 +03:00
parent 53b37240eb
commit 2f48cf3921
107 changed files with 938 additions and 1189 deletions

View File

@@ -14,7 +14,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
messangerWidget(nullptr),
docTasksWidget(nullptr),
adminMode(false),
loginInstructorLoggedInLocal(QStringLiteral(""))
loginInstructorLoggedInLocal(QStringLiteral("")),
nameInstructorLoggedInLocal(QStringLiteral(""))
{
ui->setupUi(this);
@@ -25,8 +26,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
dbLMS = new InterfaceDataBaseLMS(this);
connect(this, &InstructorsAndTraineesWidget::signal_LanguageChanged, dbLMS, &InterfaceDataBaseLMS::slot_LanguageChanged);
viewerTrainees = new ViewerTrainees(dbLMS);
viewerInstructors = new ViewerInstructors(dbLMS);
viewerTrainees = new ViewerTrainees(connectorToServer);
viewerInstructors = new ViewerInstructors(connectorToServer);
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);
@@ -34,6 +35,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::signal_traineeSelected);
connect(this, &InstructorsAndTraineesWidget::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
messangerWidget = new MessangerWidget(this);
docTasksWidget = new DocTasksWidget(this);
@@ -52,14 +55,6 @@ InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
if(authorizationIsCompleted())
deAuthorizationInstructor(loginInstructorLoggedInLocal);
if(dbLMS->DBisConnected())
{
dbLMS->deAuthorizationAllInstructors();
dbLMS->deAuthorizationAllTrainees();
dbLMS->DisConnectionFromDB();
}
delete docTasksWidget;
delete messangerWidget;
delete viewerInstructors;
@@ -86,7 +81,7 @@ void InstructorsAndTraineesWidget::changeEvent(QEvent *event)
else
ui->btnConnectionToDB->setText(tr("Connection DB"));
updateLabelLoggedInInstructor(loginInstructorLoggedInLocal, "???");
updateLabelLoggedInInstructor(loginInstructorLoggedInLocal, nameInstructorLoggedInLocal);
}
}
@@ -103,6 +98,7 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
if (serverAuth->Result)
{
loginInstructorLoggedInLocal = serverAuth->Login;
nameInstructorLoggedInLocal = serverAuth->ClientName;
if(loginInstructorLoggedInLocal == QStringLiteral("admin"))
adminMode = true;
@@ -120,12 +116,11 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
//Q_EMIT signal_NeedUpdateUI(true, true);
QMessageBox::information(this, tr("Instructor authorization"), tr("Successfully!"));
}
else
{
ui->btnAuthorizationInstructor->setChecked(false);
QMessageBox::warning(this, tr("Instructor authorization"), tr("Invalid login or password!"));
}
}
@@ -135,6 +130,7 @@ void InstructorsAndTraineesWidget::checkDeLoginResult(ServerDeAuthorization *ser
if (serverDeAuth->Result)
{
loginInstructorLoggedInLocal = QStringLiteral("");
nameInstructorLoggedInLocal = QStringLiteral("");
adminMode = false;
viewerInstructors->setAdminMode(adminMode);
@@ -152,6 +148,7 @@ void InstructorsAndTraineesWidget::checkDeLoginResult(ServerDeAuthorization *ser
}
else
{
ui->btnAuthorizationInstructor->setChecked(true);
QMessageBox::warning(this, tr("Instructor deauthorization"), tr("Error!"));
}
}
@@ -170,7 +167,6 @@ bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent
QString login = dlg.getLogin();
QString password = dlg.getPassword();
//if(authorizationInstructor(login, password))
connectorToServer->authorizationInstructorLocal(login, password);
return true;
@@ -188,44 +184,8 @@ bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent
bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
{
mtxAccess.lock();
/*
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return false;
}*/
//Q_EMIT signal_BlockAutorization(true);
//bool res = dbLMS->deAuthorizationInstructor(login);
connectorToServer->deAuthorizationInstructorLocal(login);
//Q_EMIT signal_BlockAutorization(false);
/*
if(res)
{
if(loginInstructorLoggedInLocal == login)
{
loginInstructorLoggedInLocal = QStringLiteral("");
adminMode = false;
viewerInstructors->setAdminMode(adminMode);
viewerTrainees->setAdminMode(adminMode);
viewerInstructors->setAuthComplited(false);
viewerTrainees->setAuthComplited(false);
Q_EMIT signal_NeedUpdateUI(true, false);
}
else
Q_EMIT signal_NeedUpdateUI(true, false);
} */
mtxAccess.unlock();
return /*res*/true;
return true;
}
bool InstructorsAndTraineesWidget::authorizationIsCompleted()
@@ -242,7 +202,7 @@ void InstructorsAndTraineesWidget::on_btnConnectionToDB_clicked()
if(stateIsChecked)
{//Подключение к БД
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
if(dbLMS->ConnectionToDB())
@@ -259,7 +219,6 @@ void InstructorsAndTraineesWidget::on_btnConnectionToDB_clicked()
Q_EMIT signal_InitMessanger(dbLMS->getListTrainees());
}
}
mtxAccess.unlock();
}
else
{//Отключение от БД
@@ -267,7 +226,6 @@ void InstructorsAndTraineesWidget::on_btnConnectionToDB_clicked()
if(stateIsCheckedAuthorization)
ui->btnAuthorizationInstructor->click();
mtxAccess.lock();
if(dbLMS->DBisConnected())
{
Q_EMIT signal_BlockAutorization(true);
@@ -281,7 +239,6 @@ void InstructorsAndTraineesWidget::on_btnConnectionToDB_clicked()
Q_EMIT signal_NeedUpdateUI(true, true);
}
mtxAccess.unlock();
}
}
@@ -293,7 +250,6 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{//Авторизация Инструктора локальная (Администратора)
if(authorizationInstructorDialog(this))
{
}
else
ui->btnAuthorizationInstructor->setChecked(false);
@@ -304,27 +260,15 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{
if(deAuthorizationInstructor(loginInstructorLoggedInLocal))
{
//ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
//updateLabelLoggedInInstructor();
//Q_EMIT signal_NeedUpdateUI(true, true);
}
else
ui->btnAuthorizationInstructor->setChecked(true);
}
}
}
void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor(QString login, QString name)
{
mtxAccess.lock();
/*
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return;
}*/
if(authorizationIsCompleted())
{
QString nameLoggedInInstructor = QString("%1 (%2)").arg(name, login);
@@ -339,8 +283,6 @@ void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor(QString login,
ui->lblLoggedInInstructor->setText(tr("none"));
ui->lblLoggedIn->setPixmap(QPixmap(QStringLiteral(":/icons/circleGray.png")));
}
mtxAccess.unlock();
}
void InstructorsAndTraineesWidget::on_btnUpdateStyleSheet_clicked()
@@ -348,3 +290,8 @@ void InstructorsAndTraineesWidget::on_btnUpdateStyleSheet_clicked()
viewerTrainees->updateMyStyleSheet();
viewerInstructors->updateMyStyleSheet();
}
void InstructorsAndTraineesWidget::on_btnQueryGetListInstructors_clicked()
{
connectorToServer->queryGetListInstructors();
}