Рефакт Администрирование БД

This commit is contained in:
2025-11-05 12:36:11 +03:00
parent e9363c388b
commit 84ea6ca512
8 changed files with 102 additions and 54 deletions

View File

@@ -77,13 +77,13 @@ void DialogCheckDB::on_btnRepare_clicked()
{
if(!resDriver)
{
QMessageBox::warning(this, tr("Warning!"), tr("Install PostgreSQL."));
QMessageBox::critical(this, tr("Error!"), tr("Install PostgreSQL."));
return;
}
if(!resUser)
{
if(!providerDBLMS->createUser("nameUser"))
if(!providerDBLMS->createUser())
{
QMessageBox::critical(this, tr("Error!"), tr("Failed to create user!"));
return;
@@ -92,22 +92,10 @@ void DialogCheckDB::on_btnRepare_clicked()
if(!resDB)
{
if(!providerDBLMS->createDB("nameDB"))
if(!providerDBLMS->createDB())
{
QMessageBox::critical(this, tr("Error!"), tr("Failed to create Database!"));
return;
}
}
}
void DialogCheckDB::on_toolButton_clicked()
{
QProcess process;
QString program = "cmd.exe";
QStringList arguments;
arguments << "/C" << "echo Hello from QProcess" << "&&" << "pause";
process.start(program, arguments);
process.waitForFinished();
int i = 0;
}

View File

@@ -19,8 +19,6 @@ public:
private slots:
void on_btnRepare_clicked();
void on_toolButton_clicked();
private:
void check();

View File

@@ -1,4 +1,5 @@
#include <QXmlStreamReader>
#include <QMessageBox>
#include "dialogsettingstray.h"
#include "Systems/tools.h"
#include "ui_dialogsettingstray.h"
@@ -240,16 +241,39 @@ void DialogSettingsTray::on_editPassword_textChanged(const QString &arg1)
void DialogSettingsTray::on_btnCheckDB_clicked()
{
DialogCheckDB dlgCheckDB(providerDBLMS, this);
dlgCheckDB.setWindowFlags(dlgCheckDB.windowFlags() & ~Qt::WindowContextHelpButtonHint);
switch( dlgCheckDB.exec() )
//Проверяем, установлен ли PostgreSQL
if(!providerDBLMS->checkDriverQPSQLavailable())
{
case QDialog::Accepted:
break;
case QDialog::Rejected:
break;
default:
break;
QMessageBox::critical(this, tr("Error!"), tr("Driver PostgreSQL is not installed!"));
return;
}
//TODO Запрос Логина и Пароля Суперюзера PostgreSQL (postgres)
QString UserNamePostgres;
QString PasswordPostgres;
//Имитация
UserNamePostgres = "postgres";
PasswordPostgres = "12345678";
if(providerDBLMS->setUserPasswordPostgres(UserNamePostgres, PasswordPostgres))
{
DialogCheckDB dlgCheckDB(providerDBLMS, this);
dlgCheckDB.setWindowFlags(dlgCheckDB.windowFlags() & ~Qt::WindowContextHelpButtonHint);
switch( dlgCheckDB.exec() )
{
case QDialog::Accepted:
break;
case QDialog::Rejected:
break;
default:
break;
}
}
else
{
QMessageBox::critical(this, tr("Error!"), tr("The superuser login or password is incorrect!"));
return;
}
}

View File

@@ -64,6 +64,11 @@ DataBaseSettings ProviderDBLMS::getDBSettings()
return dbLMS->getDataBaseSettings();
}
bool ProviderDBLMS::setUserPasswordPostgres(QString userName, QString password)
{
return dbLMS->setUserPasswordPostgres(userName, password);
}
bool ProviderDBLMS::checkDriverQPSQLavailable()
{
return dbLMS->checkDriverQPSQLavailable();
@@ -79,14 +84,14 @@ bool ProviderDBLMS::checkDataBaseLMSexist()
return dbLMS->checkDataBaseLMSexist();
}
bool ProviderDBLMS::createUser(QString name)
bool ProviderDBLMS::createUser()
{
return dbLMS->createUser(name);
return dbLMS->createUser();
}
bool ProviderDBLMS::createDB(QString name)
bool ProviderDBLMS::createDB()
{
return dbLMS->createDB(name);
return dbLMS->createDB();
}
QString ProviderDBLMS::getMainInstructorName()

View File

@@ -81,12 +81,13 @@ public:
DataBaseSettings getDBSettings();
//PostgreSQL
bool setUserPasswordPostgres(QString userName, QString password);
bool checkDriverQPSQLavailable();
bool checkUserLMSexist();
bool checkDataBaseLMSexist();
bool createUser(QString name);
bool createDB(QString name);
bool createUser();
bool createDB();
private:
InterfaceDataBaseLMS* dbLMS;