Files
RRJServer/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
2024-11-01 11:45:13 +03:00

93 lines
2.7 KiB
C++

#include <QMessageBox>
#include "instructorsandtraineeswidget.h"
#include "ui_instructorsandtraineeswidget.h"
#include "dialogauthorizationinstructor.h"
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::InstructorsAndTraineesWidget),
adminMode(false)
{
ui->setupUi(this);
dbLMS = new DataBaseLMS();
dataBaseTrainees = new DataBaseTrainees(dbLMS);
dataBaseInstructors = new DataBaseInstructors(dbLMS);
//Авторизация Инструктора (Администратора)
while(! authorizationInstructor(this))
{
QMessageBox::warning(this, tr("Instructor authorization"), tr("Invalid login or password!"));
};
QMessageBox::information(this, tr("Instructor authorization"), tr("Successfully!"));
m_viewerTrainees = new ViewerTrainees(dataBaseTrainees, adminMode);
m_viewerInstructors = new ViewerInstructors(dataBaseInstructors, adminMode);
ui->verticalLayout->addWidget(m_viewerTrainees);
ui->verticalLayout->addWidget(m_viewerInstructors);
m_viewerTrainees->setMinimumSize(800, 800);
m_viewerInstructors->setMinimumSize(800, 300);
}
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
{
delete m_viewerInstructors;
delete m_viewerTrainees;
delete dataBaseInstructors;
delete dataBaseTrainees;
delete dbLMS;
delete ui;
}
bool InstructorsAndTraineesWidget::authorizationInstructor(QWidget* parent)
{
DialogAuthorizationInstructor dlg(parent);
dlg.setWindowTitle(tr("Instructor authorithation"));
switch( dlg.exec() )
{
case QDialog::Accepted:
{
QString login = dlg.getLogin();
QString password = dlg.getPassword();
if(dataBaseInstructors->AuthorizationInstructor(login, password))
{
if(login == QStringLiteral("admin"))
adminMode = true;
return true;
}
//break;
}
case QDialog::Rejected:
break;
default:
break;
}
return false;
}
bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString learnClass = QStringLiteral(""), QString computer = QStringLiteral(""))
{
return dataBaseTrainees->AuthorizationTrainee(login, password, learnClass, computer);
}
bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login)
{
return dataBaseTrainees->deAuthorizationTrainee(login);
}
bool InstructorsAndTraineesWidget::authorizationInstructor(QString login, QString password)
{
return dataBaseInstructors->AuthorizationInstructor(login, password);
}
bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
{
return dataBaseInstructors->deAuthorizationInstructor(login);
}