#include #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(1400, 700); m_viewerInstructors->setMinimumSize(1400, 400); } 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 classroom_name, QString computer_name) { return dataBaseTrainees->AuthorizationTrainee(login, password, classroom_name, computer_name); } 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); }