В основном работает

This commit is contained in:
krivoshein
2024-12-12 17:20:06 +03:00
parent d28453440f
commit 1c9e0510a9
51 changed files with 634 additions and 810 deletions

View File

@@ -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++)
}