Files
RRJServer/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
2024-11-02 13:43:57 +03:00

112 lines
3.2 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),
loginInstructorLoggedIn(QStringLiteral(""))
{
ui->setupUi(this);
dbLMS = new DataBaseLMS();
dataBaseTrainees = new DataBaseTrainees(dbLMS);
dataBaseInstructors = new DataBaseInstructors(dbLMS);
//Авторизация Инструктора (Администратора)
authorizationInstructorLocal(this);
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(1000, 800);
m_viewerInstructors->setMinimumSize(1000, 300);
}
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
{
deAuthorizationInstructor(loginInstructorLoggedIn);
delete m_viewerInstructors;
delete m_viewerTrainees;
delete dataBaseInstructors;
delete dataBaseTrainees;
delete dbLMS;
delete ui;
}
bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
{
DialogAuthorizationInstructor dlg(parent);
dlg.setWindowTitle(tr("Instructor authorithation"));
do
{
switch( dlg.exec() )
{
case QDialog::Accepted:
{
QString login = dlg.getLogin();
QString password = dlg.getPassword();
if(dataBaseInstructors->AuthorizationInstructor(login, password))
{
loginInstructorLoggedIn = login;
if(login == QStringLiteral("admin"))
adminMode = true;
QMessageBox::information(parent, tr("Instructor authorization"), tr("Successfully!"));
return true;
}
else
QMessageBox::warning(parent, tr("Instructor authorization"), tr("Invalid login or password!"));
break;
}
case QDialog::Rejected:
return false;
default:
return false;
}
}
while(true);
return false;
}
bool InstructorsAndTraineesWidget::authorizationCompleted()
{
if(loginInstructorLoggedIn == QStringLiteral(""))
return false;
else
return true;
}
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::authorizationInstructorLocal(QString login, QString password)
{
return dataBaseInstructors->AuthorizationInstructor(login, password);
}
bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
{
return dataBaseInstructors->deAuthorizationInstructor(login);
}