PSQL id 06.11.2024

This commit is contained in:
krivoshein
2024-11-06 16:06:32 +03:00
parent 0f1fa71c33
commit f4ca58ce91
89 changed files with 1131 additions and 763 deletions

View File

@@ -1,8 +1,8 @@
#include <QHeaderView>
#include "traineesview.h"
TraineesView::TraineesView(DataBaseTrainees* db, TypeView type, QWidget *parent):
CommonView(type, parent),
TraineesView::TraineesView(DataBaseTrainees* db, TypeView type, bool adminMode, QWidget *parent):
CommonView(type, adminMode, parent),
dbTrainees(db)
{
@@ -15,38 +15,38 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
if(treeWidget == nullptr)
return;
treeWidget->setColumnCount(9);
treeWidget->setColumnCount(10);
reSetHeadTreeWidget();
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
treeWidget->setColumnWidth(0, 250);
treeWidget->setColumnWidth(1, 100);
treeWidget->setColumnWidth(0, 80);
treeWidget->setColumnWidth(1, 250);
treeWidget->setColumnWidth(2, 100);
treeWidget->setColumnWidth(3, 130);
treeWidget->setColumnWidth(3, 100);
treeWidget->setColumnWidth(4, 130);
treeWidget->setColumnWidth(5, 130);
treeWidget->setColumnWidth(6, 80);
treeWidget->setColumnWidth(6, 130);
treeWidget->setColumnWidth(7, 80);
treeWidget->setColumnWidth(8, 100);
treeWidget->setColumnWidth(8, 80);
treeWidget->setColumnWidth(9, 100);
if(typeView == TypeView::onlyView)
{//onlyView
treeWidget->setColumnHidden(1, true);
treeWidget->setColumnHidden(2, true);
treeWidget->setColumnHidden(6, true);
treeWidget->setColumnHidden(8, true);
treeWidget->setColumnHidden(3, true);
treeWidget->setColumnHidden(7, true);
}
else
{//control
treeWidget->setColumnHidden(6, true);
treeWidget->setColumnHidden(7, true);
}
}
void TraineesView::loadTraineesFromDB()
{
//dbTrainees->LoadTraineesGroupsPSQL();
dbTrainees->LoadTraineesGroupsPSQL();
if(treeWidget == nullptr)
return;
@@ -58,56 +58,62 @@ void TraineesView::loadTraineesFromDB()
{
//Группа
QTreeWidgetItem *ItemGroup = new QTreeWidgetItem(treeWidget);
ItemGroup->setText(0, group.getName());
ItemGroup->setIcon(0, QIcon(QStringLiteral(":/icons/group.png")));
QColor color = dbTrainees->getColorGroup(/*group.getColor()*/Group::color0);
setItemColor(ItemGroup, color);
ItemGroup->setText(0, QString::number(group.getID()));
ItemGroup->setText(1, group.getName());
ItemGroup->setIcon(1, QIcon(QStringLiteral(":/icons/group.png")));
setItemColor(ItemGroup, QColor(170, 190, 170));
//Обучаемые
QList<Trainee> listTrainees;
listTrainees = dbTrainees->getListTraineesInGroup(group.getName());
listTrainees = dbTrainees->getListTraineesInGroup(group.getID());
for(Trainee trainee : listTrainees)
{
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
ItemTrainee->setText(0, trainee.getName());
ItemTrainee->setText(1, trainee.getLogin());
ItemTrainee->setText(2, trainee.getPassword());
ItemTrainee->setText(3, trainee.getLearnClass());
ItemTrainee->setText(4, trainee.getComputer());
ItemTrainee->setText(5, trainee.getIpAddress());
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());
if(trainee.getArchived())
{//Архивный
ItemTrainee->setText(6, tr("yes"));
ItemTrainee->setIcon(0, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
ItemTrainee->setText(7, tr("yes"));
ItemTrainee->setIcon(1, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
setItemColorArchive(ItemTrainee);
}
else
{//Не Архивный
ItemTrainee->setText(6, tr("no"));
ItemTrainee->setIcon(0, QIcon(QStringLiteral(":/icons/trainee.png")));
ItemTrainee->setText(7, tr("no"));
ItemTrainee->setIcon(1, QIcon(QStringLiteral(":/icons/trainee.png")));
setItemColorNoArchive(ItemTrainee);
}
if(trainee.getLoggedIn())
{//Залогинен
ItemTrainee->setText(7, tr("yes"));
ItemTrainee->setIcon(7, QIcon(QStringLiteral(":/icons/circleGreen.png")));
ItemTrainee->setText(8, tr("yes"));
ItemTrainee->setIcon(8, QIcon(QStringLiteral(":/icons/circleGreen.png")));
}
else
{//Не Залогинен
ItemTrainee->setText(7, tr("no"));
ItemTrainee->setIcon(7, QIcon(QStringLiteral(":/icons/circleGray.png")));
ItemTrainee->setText(8, tr("no"));
ItemTrainee->setIcon(8, QIcon(QStringLiteral(":/icons/circleGray.png")));
}
ItemTrainee->setText(8, QString(trainee.getTasks().join(QStringLiteral(";"))));
QString tasksStr;
for(Task task: trainee.getTasks())
{
tasksStr += task.getName() + QStringLiteral("; ");
}
ItemTrainee->setText(9, tasksStr);
ItemGroup->addChild(ItemTrainee);
//Скрываем архивных (при необходимости)
if(trainee.getArchived())
if(!archiveVisible)
if(! archiveVisible)
ItemTrainee->setHidden(true);
//Скрываем незалогиненых (при необходимости)
@@ -118,7 +124,7 @@ void TraineesView::loadTraineesFromDB()
}
treeWidget->setSortingEnabled(true);
treeWidget->sortItems(0, Qt::SortOrder::AscendingOrder);
treeWidget->sortItems(1, Qt::SortOrder::AscendingOrder);
treeWidget->expandAll();
if(typeView == TypeView::control)
@@ -131,6 +137,6 @@ void TraineesView::loadTraineesFromDB()
void TraineesView::reSetHeadTreeWidget()
{
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("Tasks")};
QStringList listHeaders = {tr("ID"), tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("Tasks")};
treeWidget->setHeaderLabels(listHeaders);
}