mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
В основном работает
This commit is contained in:
@@ -16,7 +16,7 @@ EditorTrainees::EditorTrainees(ConnectorToServer* connectorToServer, bool adminM
|
||||
|
||||
this->adminMode = adminMode;
|
||||
|
||||
preparationTreeWidget(/*ui->treeWidget*/);
|
||||
preparationTreeWidget();
|
||||
//setNotLoggedInVisible(true);
|
||||
loadTraineesFromDB();
|
||||
|
||||
@@ -102,15 +102,6 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
|
||||
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
{
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_GROUP, id_group);
|
||||
/*
|
||||
if(int id = dbLMS->delGroup(id_group))
|
||||
{//Удалено
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
else
|
||||
{
|
||||
//Ошибка удаления
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -207,16 +198,6 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
|
||||
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
{
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_TRAINEE, id_trainee);
|
||||
/*
|
||||
if(int id = dbLMS->delTrainee(id_trainee))
|
||||
{//Удалено
|
||||
loadTraineesFromDB();
|
||||
setCurrentGroup(id_group);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Ошибка удаления
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -238,20 +219,10 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
||||
if(trainee.getID() == 0)
|
||||
return;
|
||||
|
||||
if(connectorToServer->isArchivedTrainee(id_trainee) /*trainee.getArchived()*/)
|
||||
if(connectorToServer->isArchivedTrainee(id_trainee))
|
||||
{//Архивный
|
||||
trainee.setArchived(false);
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_EDIT_TRAINEE, id_trainee, &trainee);
|
||||
/*
|
||||
if(int id = dbLMS->editTrainee(trainee))
|
||||
{//Отредактировано
|
||||
loadTraineesFromDB();
|
||||
setCurrentTrainee(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Ошибка редактирования
|
||||
}*/
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
@@ -263,19 +234,8 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
||||
|
||||
trainee.setArchived(true);
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_EDIT_TRAINEE, id_trainee, &trainee);
|
||||
/*
|
||||
if(int id = dbLMS->editTrainee(trainee))
|
||||
{//Отредактировано
|
||||
if(!archiveVisible)
|
||||
ui->btnArchive->click();
|
||||
|
||||
loadTraineesFromDB();
|
||||
setCurrentTrainee(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Ошибка редактирования
|
||||
}*/
|
||||
if(!archiveVisible)
|
||||
ui->btnArchive->click();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -395,6 +355,11 @@ void EditorTrainees::on_btnArchive_clicked()
|
||||
{
|
||||
bool state = ui->btnArchive->isChecked();
|
||||
setArchiveVisible(state);
|
||||
if(!state)
|
||||
{
|
||||
lastCurrentID = 0;
|
||||
typeObject = TypeObject::objGroup;
|
||||
}
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
|
||||
@@ -410,6 +375,9 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
{//Выбрана группа
|
||||
int id_group = current->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
lastCurrentID = id_group;
|
||||
typeObject = TypeObject::objGroup;
|
||||
|
||||
if(adminMode)
|
||||
{
|
||||
ui->btnNewGroup->setEnabled(true);
|
||||
@@ -442,6 +410,9 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
{//Выбран обучаемый
|
||||
int id_trainee = current->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
lastCurrentID = id_trainee;
|
||||
typeObject = TypeObject::objTrainee;
|
||||
|
||||
ui->btnNewGroup->setEnabled(false);
|
||||
ui->btnDeleteGroup->setEnabled(false);
|
||||
ui->btnNewTrainee->setEnabled(false);
|
||||
@@ -486,37 +457,4 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
}
|
||||
}
|
||||
|
||||
void EditorTrainees::setCurrentGroup(int id)
|
||||
{
|
||||
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
if(item->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EditorTrainees::setCurrentTrainee(int id)
|
||||
{
|
||||
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
{
|
||||
for (int j = 0; j < item->childCount(); j++)
|
||||
{
|
||||
QTreeWidgetItem * itemChild = item->child(j);
|
||||
if(itemChild != nullptr)
|
||||
if(itemChild->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(itemChild);
|
||||
break;
|
||||
}
|
||||
}//for (int j = 0; j < item->childCount(); j++)
|
||||
}
|
||||
}//for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@ private Q_SLOTS:
|
||||
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
|
||||
private:
|
||||
void setCurrentGroup(int id);
|
||||
void setCurrentTrainee(int id);
|
||||
//void setCurrentGroup(int id);
|
||||
//void setCurrentTrainee(int id);
|
||||
|
||||
private:
|
||||
Ui::EditorTrainees *ui;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
TraineesView::TraineesView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent):
|
||||
CommonView(connectorToServer, type, parent)
|
||||
{
|
||||
|
||||
typeObject = TypeObject::objGroup;
|
||||
}
|
||||
|
||||
void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
||||
@@ -38,7 +38,7 @@ void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
|
||||
void TraineesView::preparationTreeWidget(/*QTreeWidget *tree*/)
|
||||
void TraineesView::preparationTreeWidget()
|
||||
{
|
||||
mtxTreeWidget.lock();
|
||||
|
||||
@@ -104,10 +104,6 @@ void TraineesView::loadTraineesFromDB()
|
||||
QList <Group> listGroups;
|
||||
QList <Trainee> listTrainees;
|
||||
|
||||
//TODO
|
||||
//listGroups = dbLMS->getListGroups();
|
||||
//listTrainees = dbLMS->getListTrainees();
|
||||
|
||||
listGroups = connectorToServer->getListGroups();
|
||||
listTrainees = connectorToServer->getListTrainees();
|
||||
|
||||
@@ -145,7 +141,7 @@ void TraineesView::loadTraineesFromDB()
|
||||
if(trainee.getArchived())
|
||||
{//Архивный
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("yes"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/archive.png")));
|
||||
setItemColorArchive(ItemTrainee);
|
||||
}
|
||||
else
|
||||
@@ -187,12 +183,13 @@ void TraineesView::loadTraineesFromDB()
|
||||
ItemTrainee->setHidden(true);
|
||||
}
|
||||
|
||||
//if(! archiveVisible && cntChildsNotArchived == 0)
|
||||
//delete ItemGroup;
|
||||
if(! archiveVisible && cntChildsNotArchived == 0)
|
||||
delete ItemGroup;
|
||||
}
|
||||
|
||||
treeWidget->expandAll();
|
||||
|
||||
/*
|
||||
//if(typeView == TypeView::control)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||
@@ -202,7 +199,12 @@ void TraineesView::loadTraineesFromDB()
|
||||
if(itemChild != nullptr)
|
||||
treeWidget->setCurrentItem(itemChild);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
if(typeObject == TypeObject::objGroup)
|
||||
setCurrentGroup(lastCurrentID);
|
||||
else
|
||||
setCurrentTrainee(lastCurrentID);
|
||||
|
||||
mtxTreeWidget.unlock();
|
||||
}
|
||||
@@ -212,3 +214,50 @@ void TraineesView::reSetHeadTreeWidget()
|
||||
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);
|
||||
}
|
||||
|
||||
void TraineesView::setCurrentGroup(int id)
|
||||
{
|
||||
typeObject = TypeObject::objGroup;
|
||||
|
||||
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
if(item->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||
if(item != nullptr)
|
||||
treeWidget->setCurrentItem(item);
|
||||
}
|
||||
|
||||
void TraineesView::setCurrentTrainee(int id)
|
||||
{
|
||||
typeObject = TypeObject::objTrainee;
|
||||
|
||||
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
{
|
||||
for (int j = 0; j < item->childCount(); j++)
|
||||
{
|
||||
QTreeWidgetItem * itemChild = item->child(j);
|
||||
if(itemChild != nullptr)
|
||||
if(itemChild->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(itemChild);
|
||||
return;
|
||||
}
|
||||
}//for (int j = 0; j < item->childCount(); j++)
|
||||
}
|
||||
}//for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||
if(item != nullptr)
|
||||
treeWidget->setCurrentItem(item);
|
||||
}
|
||||
|
||||
@@ -33,10 +33,13 @@ public Q_SLOTS:
|
||||
|
||||
protected:
|
||||
virtual void updateButtons(){};
|
||||
void preparationTreeWidget(/*QTreeWidget* tree*/);
|
||||
void preparationTreeWidget();
|
||||
void loadTraineesFromDB();
|
||||
|
||||
void reSetHeadTreeWidget();
|
||||
|
||||
void setCurrentGroup(int id);
|
||||
void setCurrentTrainee(int id);
|
||||
};
|
||||
|
||||
#endif // TRAINEESVIEW_H
|
||||
|
||||
@@ -12,7 +12,7 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *pa
|
||||
|
||||
ui->horizontalLayout_1->addWidget(treeWidget);
|
||||
|
||||
preparationTreeWidget(/*ui->treeWidget*/);
|
||||
preparationTreeWidget();
|
||||
setNotLoggedInVisible(true);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user