mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
before interface 13.11.2024
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
#include <QHeaderView>
|
||||
#include "traineesview.h"
|
||||
|
||||
TraineesView::TraineesView(DataBaseTrainees* db, TypeView type, bool adminMode, QWidget *parent):
|
||||
TraineesView::TraineesView(DataBaseTrainees* dbTrainees, TypeView type, bool adminMode, QWidget *parent):
|
||||
CommonView(type, adminMode, parent),
|
||||
dbTrainees(db)
|
||||
dbTrainees(dbTrainees)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -21,32 +21,52 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
|
||||
|
||||
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
|
||||
|
||||
treeWidget->setColumnWidth(0, 80);
|
||||
treeWidget->setColumnWidth(1, 250);
|
||||
treeWidget->setColumnWidth(2, 100);
|
||||
treeWidget->setColumnWidth(3, 100);
|
||||
treeWidget->setColumnWidth(4, 130);
|
||||
treeWidget->setColumnWidth(5, 130);
|
||||
treeWidget->setColumnWidth(6, 130);
|
||||
treeWidget->setColumnWidth(7, 80);
|
||||
treeWidget->setColumnWidth(8, 80);
|
||||
treeWidget->setColumnWidth(9, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 200);
|
||||
|
||||
|
||||
if(typeView == TypeView::onlyView)
|
||||
{//onlyView
|
||||
treeWidget->setColumnHidden(2, true);
|
||||
treeWidget->setColumnHidden(3, true);
|
||||
treeWidget->setColumnHidden(7, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
||||
//treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Login, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
||||
|
||||
archiveVisible = false;
|
||||
notLoggedInVisible = true;
|
||||
}
|
||||
else
|
||||
{//control
|
||||
treeWidget->setColumnHidden(7, true);
|
||||
if(adminMode)
|
||||
{
|
||||
archiveVisible = true;
|
||||
notLoggedInVisible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TraineesView::loadTraineesFromDB()
|
||||
{
|
||||
dbTrainees->LoadTraineesGroupsPSQL();
|
||||
QList <Group> listGroups;
|
||||
QList <Trainee> listTrainees;
|
||||
dbTrainees->transactionBegin();
|
||||
listGroups = dbTrainees->getListGroups();
|
||||
listTrainees = dbTrainees->getListTrainees();
|
||||
dbTrainees->transactionEnd();
|
||||
|
||||
if(treeWidget == nullptr)
|
||||
return;
|
||||
@@ -54,52 +74,56 @@ void TraineesView::loadTraineesFromDB()
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
for(Group group : dbTrainees->getListGroups())
|
||||
for(Group group : listGroups)
|
||||
{
|
||||
//Группа
|
||||
QTreeWidgetItem *ItemGroup = new QTreeWidgetItem(treeWidget);
|
||||
ItemGroup->setText(0, QString::number(group.getID()));
|
||||
ItemGroup->setText(1, group.getName());
|
||||
ItemGroup->setIcon(1, QIcon(QStringLiteral(":/icons/group.png")));
|
||||
ItemGroup->setText(ColumnsTreeTrainees::clmn_ID, QString::number(group.getID()));
|
||||
ItemGroup->setText(ColumnsTreeTrainees::clmn_Trainee, group.getName());
|
||||
ItemGroup->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/group.png")));
|
||||
setItemColor(ItemGroup, QColor(170, 190, 170));
|
||||
|
||||
//Обучаемые
|
||||
QList<Trainee> listTrainees;
|
||||
listTrainees = dbTrainees->getListTraineesInGroup(group.getID());
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getGroup().getID() != group.getID())
|
||||
continue;
|
||||
|
||||
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
|
||||
|
||||
ItemTrainee->setText(0, QString::number(trainee.getID()));
|
||||
ItemTrainee->setText(1, trainee.getName());
|
||||
ItemTrainee->setText(2, trainee.getLogin());
|
||||
ItemTrainee->setText(3, trainee.getPassword());
|
||||
ItemTrainee->setText(4, trainee.getComputer().getClassroom().getName());
|
||||
ItemTrainee->setText(5, trainee.getComputer().getName());
|
||||
ItemTrainee->setText(6, trainee.getComputer().getIpAddress());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_ID, QString::number(trainee.getID()));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Trainee, trainee.getName());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Login, trainee.getLogin());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, trainee.getPassword());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Class, trainee.getComputer().getClassroom().getName());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Computer, trainee.getComputer().getName());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_IP_address, trainee.getComputer().getIpAddress());
|
||||
|
||||
//Сокрытие пароля
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******"));
|
||||
|
||||
if(trainee.getArchived())
|
||||
{//Архивный
|
||||
ItemTrainee->setText(7, tr("yes"));
|
||||
ItemTrainee->setIcon(1, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("yes"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
|
||||
setItemColorArchive(ItemTrainee);
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
ItemTrainee->setText(7, tr("no"));
|
||||
ItemTrainee->setIcon(1, QIcon(QStringLiteral(":/icons/trainee.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("no"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/trainee.png")));
|
||||
setItemColorNoArchive(ItemTrainee);
|
||||
}
|
||||
|
||||
if(trainee.getLoggedIn())
|
||||
{//Залогинен
|
||||
ItemTrainee->setText(8, tr("yes"));
|
||||
ItemTrainee->setIcon(8, QIcon(QStringLiteral(":/icons/circleGreen.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Logged, tr("yes"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/icons/circleGreen.png")));
|
||||
}
|
||||
else
|
||||
{//Не Залогинен
|
||||
ItemTrainee->setText(8, tr("no"));
|
||||
ItemTrainee->setIcon(8, QIcon(QStringLiteral(":/icons/circleGray.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Logged, tr("no"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/icons/circleGray.png")));
|
||||
}
|
||||
|
||||
QString tasksStr;
|
||||
@@ -107,7 +131,7 @@ void TraineesView::loadTraineesFromDB()
|
||||
{
|
||||
tasksStr += task.getName() + QStringLiteral("; ");
|
||||
}
|
||||
ItemTrainee->setText(9, tasksStr);
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Tasks, tasksStr);
|
||||
|
||||
ItemGroup->addChild(ItemTrainee);
|
||||
|
||||
@@ -124,7 +148,7 @@ void TraineesView::loadTraineesFromDB()
|
||||
}
|
||||
|
||||
treeWidget->setSortingEnabled(true);
|
||||
treeWidget->sortItems(1, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->sortItems(ColumnsTreeTrainees::clmn_Trainee, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->expandAll();
|
||||
|
||||
if(typeView == TypeView::control)
|
||||
@@ -137,6 +161,6 @@ void TraineesView::loadTraineesFromDB()
|
||||
|
||||
void TraineesView::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders = {tr("ID"), tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("Tasks")};
|
||||
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("Tasks"), tr("ID")};
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user