diff --git a/InstructorsAndTrainees/instructors/editorinstructors.cpp b/InstructorsAndTrainees/instructors/editorinstructors.cpp index 0b7dc4c..877782f 100644 --- a/InstructorsAndTrainees/instructors/editorinstructors.cpp +++ b/InstructorsAndTrainees/instructors/editorinstructors.cpp @@ -215,7 +215,16 @@ void EditorInstructors::on_btnArchive_clicked() setArchiveVisible(state); if(!state) { - lastCurrentID = 0; + Instructor instructor = connectorToServer->getInstructor(lastCurrentID); + if(instructor.getID()) + { + if(instructor.getArchived()) + lastCurrentID = 0; + } + else + { + lastCurrentID = 0; + } } loadInstructorsFromDB(); } @@ -225,7 +234,12 @@ void EditorInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current //Определяем доступность и функционал кнопок для выбранного элемента if(current == nullptr) + { + ui->btnDeleteInstructor->setEnabled(false); + ui->btnToOrFromArchive->setEnabled(false); + ui->btnEdit->setEnabled(false); return; + } QTreeWidgetItem *treeItemParent = current->parent(); if(treeItemParent == nullptr) @@ -269,6 +283,12 @@ void EditorInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current //ui->btnEdit->setEnabled(true); ui->btnArchive->setEnabled(true); } + else + { + ui->btnDeleteInstructor->setEnabled(false); + ui->btnToOrFromArchive->setEnabled(false); + ui->btnEdit->setEnabled(false); + } } bool EditorInstructors::verifyInstructor(Instructor instructor) diff --git a/InstructorsAndTrainees/instructors/instructorsview.cpp b/InstructorsAndTrainees/instructors/instructorsview.cpp index ae3b364..b96e02e 100644 --- a/InstructorsAndTrainees/instructors/instructorsview.cpp +++ b/InstructorsAndTrainees/instructors/instructorsview.cpp @@ -46,8 +46,11 @@ void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee) { updateButtons(); - if(treeInstructor) - loadInstructorsFromDB(); + if(authComplited) + { + if(treeInstructor) + loadInstructorsFromDB(); + } } void InstructorsView::preparationTreeWidget() diff --git a/InstructorsAndTrainees/trainees/editortrainees.cpp b/InstructorsAndTrainees/trainees/editortrainees.cpp index 8432081..1df87a2 100644 --- a/InstructorsAndTrainees/trainees/editortrainees.cpp +++ b/InstructorsAndTrainees/trainees/editortrainees.cpp @@ -326,8 +326,39 @@ void EditorTrainees::on_btnArchive_clicked() setArchiveVisible(state); if(!state) { - lastCurrentID = 0; - typeObject = TypeObject::objGroup; + if(typeObject == TypeObject::objTrainee) + { + Trainee trainee = connectorToServer->getTrainee(lastCurrentID); + if(trainee.getID()) + { + if(trainee.getArchived()) + { + lastCurrentID = 0; + typeObject = TypeObject::objGroup; + } + } + else + { + lastCurrentID = 0; + typeObject = TypeObject::objGroup; + } + } + else if(typeObject == TypeObject::objGroup) + { + Group group = connectorToServer->getGroup(lastCurrentID); + if(group.getID()) + {} + else + { + lastCurrentID = 0; + typeObject = TypeObject::objGroup; + } + } + else + { + lastCurrentID = 0; + typeObject = TypeObject::objGroup; + } } loadTraineesFromDB(); } @@ -337,7 +368,15 @@ void EditorTrainees::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, Q //Определяем доступность и функционал кнопок для выбранного элемента if(current == nullptr) + { + ui->btnNewGroup->setEnabled(true); + ui->btnDeleteGroup->setEnabled(false); + ui->btnNewTrainee->setEnabled(false); + ui->btnDeleteTrainee->setEnabled(false); + ui->btnToOrFromArchiveTrainee->setEnabled(false); + ui->btnEdit->setEnabled(false); return; + } QTreeWidgetItem *treeItemParent = current->parent(); if(treeItemParent == nullptr) diff --git a/InstructorsAndTrainees/trainees/traineesview.cpp b/InstructorsAndTrainees/trainees/traineesview.cpp index c1aa284..8283448 100644 --- a/InstructorsAndTrainees/trainees/traineesview.cpp +++ b/InstructorsAndTrainees/trainees/traineesview.cpp @@ -47,8 +47,11 @@ void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee) { updateButtons(); - if(treeTrainee) - loadTraineesFromDB(); + if(authComplited) + { + if(treeTrainee) + loadTraineesFromDB(); + } } void TraineesView::preparationTreeWidget()