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

Binary file not shown.

View File

@@ -1,99 +1,78 @@
# ninja log v5 # ninja log v5
16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 939 1049 7525981713172857 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
377 1845 7521882090383278 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7 1076 3519 7525981737859367 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
57 1647 7522449583762190 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173 57 1294 7526001966157653 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
74 1925 7522449586580602 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8 17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
32 42 0 clean 9c4b4372737ab8da 17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
393 1902 7521882090955221 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 17 56 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
1002 3232 7521664817765595 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f 939 1049 7525981713172857 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
16 52 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 1053 3234 7525981734783034 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f
16 52 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
65 1747 7522449584792147 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881 1061 3402 7525981736671953 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182
1012 2854 7521664813846902 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301 17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
13 253 7521784982976196 build.ninja 76aa11f472515be0 1294 1665 7526001969842689 libInstructorsAndTrainees.dll d721655f2d9255b7
55 1879 7522449586124230 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100 17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
71 1413 7522449581447380 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5 13 253 7524942129142836 build.ninja 76aa11f472515be0
16 52 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 1073 3685 7525981739493337 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
77 1659 7522449583926194 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1 1064 2292 7525981725238885 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 1079 3311 7525981735671562 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5
16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 1294 1665 7526001969842689 libInstructorsAndTrainees.dll.a d721655f2d9255b7
949 996 7521664795567220 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c 17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 1101 1321 7525981715851341 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf
949 996 7521664795567220 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
8 32 0 CMakeFiles/clean.additional 7155004b3956b606
62 1506 7522449582370525 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
1951 2311 7522449590411375 libInstructorsAndTrainees.dll.a d721655f2d9255b7
16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
16 52 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
59 1508 7522449582401689 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17
16 52 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
302 1859 7522436505794702 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182
68 1813 7522449585461950 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
52 1951 7522449586845975 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
1012 3479 7520793522676004 CMakeFiles/InstructorsAndTrainees.dir/instructorsAndTrainees.cpp.obj ff3fcdc370580ca2 1012 3479 7520793522676004 CMakeFiles/InstructorsAndTrainees.dir/instructorsAndTrainees.cpp.obj ff3fcdc370580ca2
1052 1295 7521664798479005 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 17 56 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
1951 2311 7522449590411375 libInstructorsAndTrainees.dll d721655f2d9255b7 17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 1093 3696 7525981739656070 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
81 1679 7522449584107678 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e 17 56 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 1049 3541 7525981738084357 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
1040 3227 7521664817775571 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
18 49 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 49 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 49 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 1070 3598 7525981738646009 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 13 41 0 CMakeFiles/clean.additional 7155004b3956b606
18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 17 56 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 1067 3354 7525981736197679 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17
18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 1058 3194 7525981734239997 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7
18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 1083 3690 7525981739594632 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 1098 3612 7525981738797694 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 49 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 1086 3403 7525981736691900 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f
18 49 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 41 51 0 clean 9c4b4372737ab8da
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 1090 3335 7525981736006531 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 1051 3803 7525981740695693 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 19 57 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
13 45 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 19 57 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
13 45 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 57 1303 7526014018240729 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 1303 1677 7526014021949564 libInstructorsAndTrainees.dll d721655f2d9255b7
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 1303 1677 7526014021949564 libInstructorsAndTrainees.dll.a d721655f2d9255b7
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77

View File

@@ -1,45 +1,46 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp
mmc:Q_OBJECT uic:ui_dialogedittrainee.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
uic:ui_instructorsandtraineeswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h
uic:ui_instructorsandtraineeswidget.h mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp
uic:ui_dialogedittrainee.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewerinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
uic:ui_viewertrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
mmc:Q_OBJECT mmc:Q_OBJECT
uic:ui_dialogeditgroup.h uic:ui_dialogeditgroup.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
uic:ui_editortrainees.h uic:ui_editortrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h
mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h
mmc:Q_OBJECT mmc:Q_OBJECT
uic:ui_dialogauthorizationinstructor.h uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h
mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h
mmc:Q_OBJECT mmc:Q_OBJECT
@@ -49,13 +50,12 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
uic:ui_viewertrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewerinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp
uic:ui_taskswidget.h uic:ui_taskswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp
uic:ui_editorinstructors.h uic:ui_editorinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.h
mmc:Q_OBJECT

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. --> <!-- Written by QtCreator 4.11.1, 2024-11-06T16:05:43. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -1,31 +1,25 @@
#include "commonview.h" #include "commonview.h"
CommonView::CommonView(TypeView type, QWidget *parent): CommonView::CommonView(TypeView type, bool adminMode, QWidget *parent):
QWidget(parent), QWidget(parent),
treeWidget(nullptr), treeWidget(nullptr),
typeView(type), typeView(type),
archiveVisible(false), archiveVisible(false),
notLoggedInVisible(false), notLoggedInVisible(false),
adminMode(false) adminMode(adminMode)
{ {
} }
void CommonView::setItemColorArchive(QTreeWidgetItem *item) void CommonView::setItemColorArchive(QTreeWidgetItem *item)
{ {
int columnCount = treeWidget->columnCount(); setItemColor(item,QColor(220, 220, 220));
for (int i = 0; i < columnCount; i++)
item->setBackground(i, QBrush(QColor(220, 220, 220)));
} }
void CommonView::setItemColorNoArchive(QTreeWidgetItem *item) void CommonView::setItemColorNoArchive(QTreeWidgetItem *item)
{ {
int columnCount = treeWidget->columnCount(); setItemColor(item,QColor(255, 255, 255));
for (int i = 0; i < columnCount; i++)
item->setBackground(i, QBrush(QColor(255, 255, 255)));
} }
void CommonView::setItemColor(QTreeWidgetItem *item, QColor color) void CommonView::setItemColor(QTreeWidgetItem *item, QColor color)

View File

@@ -7,7 +7,7 @@
//Родительский класс представления БД Инструкторов/Обучаемых (самого верхнего уровня) //Родительский класс представления БД Инструкторов/Обучаемых (самого верхнего уровня)
class INSTRUCTORSANDTRAINEES_EXPORT CommonView : public QWidget class CommonView : public QWidget
{ {
Q_OBJECT Q_OBJECT
@@ -19,7 +19,7 @@ public:
}; };
public: public:
CommonView(TypeView type, QWidget *parent = nullptr); CommonView(TypeView type, bool adminMode, QWidget *parent = nullptr);
protected: protected:
void setArchiveVisible(bool archiveVisible) void setArchiveVisible(bool archiveVisible)

View File

@@ -36,9 +36,9 @@ bool DataBaseInstructors::AuthorizationInstructor(QString login, QString passwor
Instructor instructor = listOfInstructors[i]; Instructor instructor = listOfInstructors[i];
instructor.setLoggedIn(true); instructor.setLoggedIn(true);
bool result = dbLMS->updateInstructor(instructor); int id = dbLMS->updateInstructor(instructor);
if(result) if(id)
{ {
LoadInstructorsPSQL(); LoadInstructorsPSQL();
return true; return true;
@@ -63,9 +63,9 @@ bool DataBaseInstructors::deAuthorizationInstructor(QString login)
Instructor instructor = listOfInstructors[i]; Instructor instructor = listOfInstructors[i];
instructor.setLoggedIn(false); instructor.setLoggedIn(false);
bool result = dbLMS->updateInstructor(instructor); int id = dbLMS->updateInstructor(instructor);
if(result) if(id)
{ {
LoadInstructorsPSQL(); LoadInstructorsPSQL();
return true; return true;
@@ -77,12 +77,12 @@ bool DataBaseInstructors::deAuthorizationInstructor(QString login)
return false; return false;
} }
Instructor DataBaseInstructors::getInstructor(QString name) Instructor DataBaseInstructors::getInstructor(int id)
{ {
//Инструкторы //Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++) for(int i = 0; i < listOfInstructors.count(); i++)
{ {
if(listOfInstructors[i].getName() == name) if(listOfInstructors[i].getID() == id)
return listOfInstructors[i]; return listOfInstructors[i];
} }
return Instructor(); return Instructor();
@@ -97,7 +97,7 @@ QString DataBaseInstructors::getNameInstructorByLogin(QString login)
} }
return QString(QStringLiteral("")); return QString(QStringLiteral(""));
} }
/*
QString DataBaseInstructors::getAuthorizedInstructorName() QString DataBaseInstructors::getAuthorizedInstructorName()
{ {
//Инструкторы //Инструкторы
@@ -107,9 +107,9 @@ QString DataBaseInstructors::getAuthorizedInstructorName()
return listOfInstructors[i].getName(); return listOfInstructors[i].getName();
} }
return QStringLiteral(""); return QStringLiteral("");
} }*/
QString DataBaseInstructors::newInstructor() int DataBaseInstructors::newInstructor()
{ {
Instructor instructor; Instructor instructor;
instructor.setName(generateDefaultNameInstructor()); instructor.setName(generateDefaultNameInstructor());
@@ -119,83 +119,80 @@ QString DataBaseInstructors::newInstructor()
instructor.setArchived(false); instructor.setArchived(false);
instructor.setLoggedIn(false); instructor.setLoggedIn(false);
bool result = dbLMS->insertInstructor(instructor); int id = dbLMS->insertInstructor(instructor);
if(result) if(id)
{ {
//listOfInstructors.append(instructor);
LoadInstructorsPSQL(); LoadInstructorsPSQL();
return instructor.getName(); return id;
} }
else else
return QStringLiteral(""); return 0;
} }
void DataBaseInstructors::deleteInstructor(QString name) int DataBaseInstructors::deleteInstructor(int id)
{ {
//Инструкторы //Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++) for(int i = 0; i < listOfInstructors.count(); i++)
{ {
if(listOfInstructors[i].getName() == name) if(listOfInstructors[i].getID() == id)
{ {
int id = listOfInstructors[i].getID(); int id_del = dbLMS->deleteInstructor(id);
bool result = dbLMS->deleteInstructor(id); if(id_del)
{
if(result)
LoadInstructorsPSQL(); LoadInstructorsPSQL();
//listOfInstructors.removeAt(i); return id_del;
}
return; else
return 0;
} }
} }
return 0;
} }
bool DataBaseInstructors::editInstructor(QString name, Instructor instructor) int DataBaseInstructors::editInstructor(Instructor instructor)
{ {
//Инструкторы //Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++) for(int i = 0; i < listOfInstructors.count(); i++)
{ {
if(listOfInstructors[i].getName() == name) if(listOfInstructors[i].getID() == instructor.getID())
{ {
if( (!checkExistNameInstructor(instructor.getName()) || instructor.getName() == name) && if( (!checkExistNameInstructor(instructor.getName()) || instructor.getName() == listOfInstructors[i].getName()) &&
(!checkExistLoginInstructor(instructor.getLogin()) || instructor.getLogin() == listOfInstructors[i].getLogin()) ) (!checkExistLoginInstructor(instructor.getLogin()) || instructor.getLogin() == listOfInstructors[i].getLogin()) )
{ {
//instructor.setID(listOfInstructors[i].getID()); int id = dbLMS->updateInstructor(instructor);
bool result = dbLMS->updateInstructor(instructor); if(id)
if(result)
{ {
//listOfInstructors.replace(i, instructor);
LoadInstructorsPSQL(); LoadInstructorsPSQL();
return true; return id;
} }
else else
return false; return 0;
} }
} }
} }
return false; return 0;
} }
bool DataBaseInstructors::isAdmin(QString name) bool DataBaseInstructors::isAdmin(int id)
{ {
//Инструкторы //Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++) for(int i = 0; i < listOfInstructors.count(); i++)
{ {
if(listOfInstructors[i].getName() == name) if(listOfInstructors[i].getID() == id)
return listOfInstructors[i].getIsAdmin(); return listOfInstructors[i].getIsAdmin();
} }
return false; return false;
} }
bool DataBaseInstructors::isArchived(QString name) bool DataBaseInstructors::isArchived(int id)
{ {
//Инструкторы //Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++) for(int i = 0; i < listOfInstructors.count(); i++)
{ {
if(listOfInstructors[i].getName() == name) if(listOfInstructors[i].getID() == id)
return listOfInstructors[i].getArchived(); return listOfInstructors[i].getArchived();
} }
return false; return false;

View File

@@ -9,7 +9,7 @@
#include "databaselms.h" #include "databaselms.h"
class INSTRUCTORSANDTRAINEES_EXPORT DataBaseInstructors : QObject class DataBaseInstructors : QObject
{ {
Q_OBJECT Q_OBJECT
@@ -24,18 +24,18 @@ public:
QList<Instructor> getListInstructors(){ return listOfInstructors; } //Для загрузки QList<Instructor> getListInstructors(){ return listOfInstructors; } //Для загрузки
Instructor getInstructor(QString name); Instructor getInstructor(int id);
QString getNameInstructorByLogin(QString login); QString getNameInstructorByLogin(QString login);
QString getAuthorizedInstructorName(); //QString getAuthorizedInstructorName();
QString newInstructor(); int newInstructor();
void deleteInstructor(QString name); int deleteInstructor(int id);
bool editInstructor(QString name, Instructor instructor); int editInstructor(Instructor instructor);
bool isAdmin(QString name); bool isAdmin(int id);
bool isArchived(QString name); bool isArchived(int id);
private: private:

View File

@@ -4,8 +4,7 @@
#include "ui_editorinstructors.h" #include "ui_editorinstructors.h"
EditorInstructors::EditorInstructors(DataBaseInstructors* db, bool adminMode, QWidget *parent) : EditorInstructors::EditorInstructors(DataBaseInstructors* db, bool adminMode, QWidget *parent) :
//QDialog(parent), InstructorsView(db, CommonView::TypeView::control, adminMode, parent),
InstructorsView(db, CommonView::TypeView::control, parent),
ui(new Ui::EditorInstructors) ui(new Ui::EditorInstructors)
{ {
ui->setupUi((QDialog*)this); ui->setupUi((QDialog*)this);
@@ -22,9 +21,9 @@ EditorInstructors::~EditorInstructors()
void EditorInstructors::on_btnNewInstructor_clicked() void EditorInstructors::on_btnNewInstructor_clicked()
{ {
QString name = dbInstructors->newInstructor(); int id = dbInstructors->newInstructor();
loadInstructorsFromDB(); loadInstructorsFromDB();
setCurrentInstructor(name); setCurrentInstructor(id);
} }
void EditorInstructors::on_btnDeleteInstructor_clicked() void EditorInstructors::on_btnDeleteInstructor_clicked()
@@ -37,9 +36,9 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбран Инструктор {//Выбран Инструктор
QString name = treeItemCurrent->text(0); int id = treeItemCurrent->text(0).toInt();
if(dbInstructors->isAdmin(name)) if(dbInstructors->isAdmin(id))
{//Это Админ! {//Это Админ!
QMessageBox::critical(this, tr("Error!"), tr("You cannot delete the Administrator.")); QMessageBox::critical(this, tr("Error!"), tr("You cannot delete the Administrator."));
return; return;
@@ -47,7 +46,7 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete it anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok) if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete it anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
{ {
dbInstructors->deleteInstructor(name); dbInstructors->deleteInstructor(id);
loadInstructorsFromDB(); loadInstructorsFromDB();
} }
} }
@@ -64,29 +63,29 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбран Инструктор {//Выбран Инструктор
QString name = treeItemCurrent->text(0); int id = treeItemCurrent->text(0).toInt();
Instructor instructor = dbInstructors->getInstructor(name); Instructor instructor = dbInstructors->getInstructor(id);
if(instructor.getArchived()) if(instructor.getArchived())
{//Архивный {//Архивный
instructor.setArchived(false); instructor.setArchived(false);
if(dbInstructors->editInstructor(name, instructor)) if(int id_edit = dbInstructors->editInstructor(instructor))
{ {
loadInstructorsFromDB(); loadInstructorsFromDB();
setCurrentInstructor(instructor.getName()); setCurrentInstructor(id_edit);
} }
} }
else else
{//Не Архивный {//Не Архивный
instructor.setArchived(true); instructor.setArchived(true);
if(dbInstructors->editInstructor(name, instructor)) if(int id_edit = dbInstructors->editInstructor(instructor))
{ {
if(!archiveVisible) if(!archiveVisible)
ui->btnArchive->click(); ui->btnArchive->click();
loadInstructorsFromDB(); loadInstructorsFromDB();
setCurrentInstructor(instructor.getName()); setCurrentInstructor(id_edit);
} }
} }
} }
@@ -104,19 +103,19 @@ void EditorInstructors::on_btnEdit_clicked()
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбран Инструктор {//Выбран Инструктор
QString name = treeItemCurrent->text(0); int id = treeItemCurrent->text(0).toInt();
DialogEditInstructor dlg(this); DialogEditInstructor dlg(this);
dlg.setInstructor(dbInstructors->getInstructor(name)); dlg.setInstructor(dbInstructors->getInstructor(id));
switch( dlg.exec() ) switch( dlg.exec() )
{ {
case QDialog::Accepted: case QDialog::Accepted:
{ {
if(dbInstructors->editInstructor(name, dlg.getInstructor())) if(int id_edit = dbInstructors->editInstructor(dlg.getInstructor()))
{ {
loadInstructorsFromDB(); loadInstructorsFromDB();
setCurrentInstructor(dlg.getInstructor().getName()); setCurrentInstructor(id_edit);
} }
else else
QMessageBox::critical(this, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
@@ -149,9 +148,9 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбран инструктор {//Выбран инструктор
QString name = current->text(0); int id = current->text(0).toInt();
if(dbInstructors->isArchived(name)) if(dbInstructors->isArchived(id))
{//Архивный {//Архивный
ui->btnToOrFromArchive->setText(tr("From archive")); ui->btnToOrFromArchive->setText(tr("From archive"));
ui->btnToOrFromArchive->setIcon(QIcon(QStringLiteral(":/icons/instructorFromArchive.png"))); ui->btnToOrFromArchive->setIcon(QIcon(QStringLiteral(":/icons/instructorFromArchive.png")));
@@ -164,7 +163,7 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
ui->btnNewInstructor->setEnabled(true); ui->btnNewInstructor->setEnabled(true);
if(dbInstructors->isAdmin(name)) if(dbInstructors->isAdmin(id))
{//Это Админ! Удалять/Архивировать нельзя! {//Это Админ! Удалять/Архивировать нельзя!
ui->btnDeleteInstructor->setEnabled(false); ui->btnDeleteInstructor->setEnabled(false);
ui->btnToOrFromArchive->setEnabled(false); ui->btnToOrFromArchive->setEnabled(false);
@@ -173,7 +172,7 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
{ {
ui->btnToOrFromArchive->setEnabled(true); ui->btnToOrFromArchive->setEnabled(true);
if(dbInstructors->isArchived(name)) if(dbInstructors->isArchived(id))
ui->btnDeleteInstructor->setEnabled(true); ui->btnDeleteInstructor->setEnabled(true);
else else
ui->btnDeleteInstructor->setEnabled(false); ui->btnDeleteInstructor->setEnabled(false);
@@ -184,13 +183,13 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
} }
} }
void EditorInstructors::setCurrentInstructor(QString name) void EditorInstructors::setCurrentInstructor(int id)
{ {
for(int i = 0; i < treeWidget->topLevelItemCount(); i++) for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
{ {
QTreeWidgetItem * item = treeWidget->topLevelItem(i); QTreeWidgetItem * item = treeWidget->topLevelItem(i);
if(item != nullptr) if(item != nullptr)
if(item->text(0) == name) if(item->text(0).toInt() == id)
{ {
treeWidget->setCurrentItem(item); treeWidget->setCurrentItem(item);
break; break;

View File

@@ -17,7 +17,7 @@ class EditorInstructors : public InstructorsView
Q_OBJECT Q_OBJECT
public: public:
explicit EditorInstructors(DataBaseInstructors* db, bool adminMode = false, QWidget *parent = nullptr); explicit EditorInstructors(DataBaseInstructors* db, bool adminMode, QWidget *parent = nullptr);
~EditorInstructors(); ~EditorInstructors();
private Q_SLOTS: private Q_SLOTS:
@@ -29,7 +29,7 @@ private Q_SLOTS:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
private: private:
void setCurrentInstructor(QString name); void setCurrentInstructor(int id);
private: private:
Ui::EditorInstructors *ui; Ui::EditorInstructors *ui;

View File

@@ -2,8 +2,8 @@
#include <QTranslator> #include <QTranslator>
#include "instructorsview.h" #include "instructorsview.h"
InstructorsView::InstructorsView(DataBaseInstructors* db, TypeView type, QWidget *parent): InstructorsView::InstructorsView(DataBaseInstructors* db, TypeView type, bool adminMode, QWidget *parent):
CommonView(type, parent), CommonView(type, adminMode, parent),
dbInstructors(db) dbInstructors(db)
{ {
@@ -16,34 +16,35 @@ void InstructorsView::preparationTreeWidget(QTreeWidget* tree)
if(treeWidget == nullptr) if(treeWidget == nullptr)
return; return;
treeWidget->setColumnCount(6); treeWidget->setColumnCount(7);
reSetHeadTreeWidget(); reSetHeadTreeWidget();
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;")); treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
treeWidget->setColumnWidth(0, 250); treeWidget->setColumnWidth(0, 50);
treeWidget->setColumnWidth(1, 100); treeWidget->setColumnWidth(1, 250);
treeWidget->setColumnWidth(2, 100); treeWidget->setColumnWidth(2, 100);
treeWidget->setColumnWidth(3, 100); treeWidget->setColumnWidth(3, 100);
treeWidget->setColumnWidth(4, 80); treeWidget->setColumnWidth(4, 100);
treeWidget->setColumnWidth(5, 80); treeWidget->setColumnWidth(5, 80);
treeWidget->setColumnWidth(6, 80);
if(typeView == TypeView::onlyView) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView
treeWidget->setColumnHidden(1, true);
treeWidget->setColumnHidden(2, true); treeWidget->setColumnHidden(2, true);
treeWidget->setColumnHidden(4, true); treeWidget->setColumnHidden(3, true);
treeWidget->setColumnHidden(5, true);
} }
else else
{//control {//control
treeWidget->setColumnHidden(4, true); treeWidget->setColumnHidden(5, true);
} }
} }
void InstructorsView::loadInstructorsFromDB() void InstructorsView::loadInstructorsFromDB()
{ {
//dbInstructors->LoadInstructorsPSQL(); dbInstructors->LoadInstructorsPSQL();
if(treeWidget == nullptr) if(treeWidget == nullptr)
return; return;
@@ -58,47 +59,48 @@ void InstructorsView::loadInstructorsFromDB()
{ {
QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget); QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget);
ItemInstructor->setText(0, instructor.getName()); ItemInstructor->setText(0, QString::number(instructor.getID()));
ItemInstructor->setText(1, instructor.getLogin()); ItemInstructor->setText(1, instructor.getName());
ItemInstructor->setText(2, instructor.getPassword()); ItemInstructor->setText(2, instructor.getLogin());
ItemInstructor->setText(3, instructor.getPassword());
if(instructor.getArchived()) if(instructor.getArchived())
{//Архивный {//Архивный
ItemInstructor->setText(4, tr("yes")); ItemInstructor->setText(5, tr("yes"));
ItemInstructor->setIcon(0, QIcon(QStringLiteral(":/icons/instructorArchive.png"))); ItemInstructor->setIcon(1, QIcon(QStringLiteral(":/icons/instructorArchive.png")));
setItemColorArchive(ItemInstructor); setItemColorArchive(ItemInstructor);
} }
else else
{//Не Архивный {//Не Архивный
ItemInstructor->setText(4, tr("no")); ItemInstructor->setText(5, tr("no"));
ItemInstructor->setIcon(0, QIcon(QStringLiteral(":/icons/instructor.png"))); ItemInstructor->setIcon(1, QIcon(QStringLiteral(":/icons/instructor.png")));
setItemColorNoArchive(ItemInstructor); setItemColorNoArchive(ItemInstructor);
} }
if(instructor.getIsAdmin()) if(instructor.getIsAdmin())
{//Админ {//Админ
ItemInstructor->setText(3, tr("yes")); ItemInstructor->setText(4, tr("yes"));
ItemInstructor->setIcon(0, QIcon(QStringLiteral(":/icons/admin.png"))); ItemInstructor->setIcon(1, QIcon(QStringLiteral(":/icons/admin.png")));
} }
else else
{//Не Админ {//Не Админ
ItemInstructor->setText(3, tr("no")); ItemInstructor->setText(4, tr("no"));
} }
if(instructor.getLoggedIn()) if(instructor.getLoggedIn())
{//Залогинен {//Залогинен
ItemInstructor->setText(5, tr("yes")); ItemInstructor->setText(6, tr("yes"));
ItemInstructor->setIcon(5, QIcon(QStringLiteral(":/icons/circleGreen.png"))); ItemInstructor->setIcon(6, QIcon(QStringLiteral(":/icons/circleGreen.png")));
} }
else else
{//Не Залогинен {//Не Залогинен
ItemInstructor->setText(5, tr("no")); ItemInstructor->setText(6, tr("no"));
ItemInstructor->setIcon(5, QIcon(QStringLiteral(":/icons/circleGray.png"))); ItemInstructor->setIcon(6, QIcon(QStringLiteral(":/icons/circleGray.png")));
} }
//Скрываем архивных (при необходимости) //Скрываем архивных (при необходимости)
if(instructor.getArchived()) if(instructor.getArchived())
if(!archiveVisible) if(! archiveVisible)
ItemInstructor->setHidden(true); ItemInstructor->setHidden(true);
//Скрываем незалогиненых (при необходимости) //Скрываем незалогиненых (при необходимости)
@@ -108,7 +110,7 @@ void InstructorsView::loadInstructorsFromDB()
} }
treeWidget->setSortingEnabled(true); treeWidget->setSortingEnabled(true);
treeWidget->sortItems(0, Qt::SortOrder::AscendingOrder); treeWidget->sortItems(1, Qt::SortOrder::AscendingOrder);
treeWidget->expandAll(); treeWidget->expandAll();
if(typeView == TypeView::control) if(typeView == TypeView::control)
@@ -121,7 +123,7 @@ void InstructorsView::loadInstructorsFromDB()
void InstructorsView::reSetHeadTreeWidget() void InstructorsView::reSetHeadTreeWidget()
{ {
QStringList listHeaders = {tr("Instructor"), tr("Login"), tr("Password"), tr("Administrator"), tr("Archived"), tr("Logged")}; QStringList listHeaders = {tr("ID"), tr("Instructor"), tr("Login"), tr("Password"), tr("Administrator"), tr("Archived"), tr("Logged")};
treeWidget->setHeaderLabels(listHeaders); treeWidget->setHeaderLabels(listHeaders);
} }

View File

@@ -7,12 +7,12 @@
//Родительский класс представления БД Инструкторов (для просмотра и управления) //Родительский класс представления БД Инструкторов (для просмотра и управления)
class INSTRUCTORSANDTRAINEES_EXPORT InstructorsView: public CommonView class InstructorsView: public CommonView
{ {
Q_OBJECT Q_OBJECT
public: public:
InstructorsView(DataBaseInstructors* db, TypeView type, QWidget *parent = nullptr); InstructorsView(DataBaseInstructors* db, TypeView type, bool adminMode, QWidget *parent = nullptr);
protected: protected:
void preparationTreeWidget(QTreeWidget* tree); void preparationTreeWidget(QTreeWidget* tree);

View File

@@ -4,8 +4,7 @@
#include "ui_viewerinstructors.h" #include "ui_viewerinstructors.h"
ViewerInstructors::ViewerInstructors(DataBaseInstructors* db, bool adminMode, QWidget *parent) : ViewerInstructors::ViewerInstructors(DataBaseInstructors* db, bool adminMode, QWidget *parent) :
//QWidget(parent), InstructorsView(db, CommonView::TypeView::onlyView, adminMode, parent),
InstructorsView(db, CommonView::TypeView::onlyView, parent),
ui(new Ui::ViewerInstructors) ui(new Ui::ViewerInstructors)
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -63,16 +62,12 @@ void ViewerInstructors::on_btnEditorInstructors_clicked()
} }
EditorInstructors editorInstructors(dbInstructors, adminMode); EditorInstructors editorInstructors(dbInstructors, adminMode);
//dlg.setWindowTitle(tr("List instructors"));
//dlg.exec();
//dlg.show();
QDialog* dialog = new QDialog(this); QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog); QHBoxLayout *layout = new QHBoxLayout(dialog);
layout->addWidget(&editorInstructors); layout->addWidget(&editorInstructors);
dialog->setWindowTitle(tr("List instructors")); dialog->setWindowTitle(tr("Editor of instructors"));
dialog->setMinimumSize(1400, 800); dialog->setMinimumSize(1400, 800);
dialog->exec(); dialog->exec();
dbInstructors->LoadInstructorsPSQL();
loadInstructorsFromDB(); loadInstructorsFromDB();
} }

View File

@@ -12,7 +12,7 @@ class ViewerInstructors;
//Виджет только для просмотра БД Инструкторов //Виджет только для просмотра БД Инструкторов
class INSTRUCTORSANDTRAINEES_EXPORT ViewerInstructors : public InstructorsView class ViewerInstructors : public InstructorsView
{ {
Q_OBJECT Q_OBJECT
@@ -29,7 +29,7 @@ public Q_SLOTS:
void slot_LanguageChanged(QString language); void slot_LanguageChanged(QString language);
public: public:
void setFilterInstructorLoggedIn( bool enabled ); void setFilterInstructorLoggedIn(bool enabled);
private slots: private slots:
void on_btnEditorInstructors_clicked(); void on_btnEditorInstructors_clicked();

View File

@@ -16,7 +16,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
dataBaseTrainees = new DataBaseTrainees(dbLMS); dataBaseTrainees = new DataBaseTrainees(dbLMS);
dataBaseInstructors = new DataBaseInstructors(dbLMS); dataBaseInstructors = new DataBaseInstructors(dbLMS);
//Авторизация Инструктора (Администратора) //Авторизация Инструктора локальная (Администратора)
authorizationInstructorLocal(this); authorizationInstructorLocal(this);
m_viewerTrainees = new ViewerTrainees(dataBaseTrainees, adminMode); m_viewerTrainees = new ViewerTrainees(dataBaseTrainees, adminMode);
@@ -25,8 +25,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
ui->verticalLayout->addWidget(m_viewerTrainees); ui->verticalLayout->addWidget(m_viewerTrainees);
ui->verticalLayout->addWidget(m_viewerInstructors); ui->verticalLayout->addWidget(m_viewerInstructors);
m_viewerTrainees->setMinimumSize(1000, 800); m_viewerTrainees->setMinimumSize(1400, 700);
m_viewerInstructors->setMinimumSize(1000, 300); m_viewerInstructors->setMinimumSize(1400, 400);
} }
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget() InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
@@ -90,9 +90,9 @@ bool InstructorsAndTraineesWidget::authorizationCompleted()
return true; return true;
} }
bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString learnClass = QStringLiteral(""), QString computer = QStringLiteral("")) bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
{ {
return dataBaseTrainees->AuthorizationTrainee(login, password, learnClass, computer); return dataBaseTrainees->AuthorizationTrainee(login, password, classroom_name, computer_name);
} }
bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login) bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login)
@@ -100,7 +100,7 @@ bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login)
return dataBaseTrainees->deAuthorizationTrainee(login); return dataBaseTrainees->deAuthorizationTrainee(login);
} }
bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QString login, QString password) bool InstructorsAndTraineesWidget::authorizationInstructor(QString login, QString password)
{ {
return dataBaseInstructors->AuthorizationInstructor(login, password); return dataBaseInstructors->AuthorizationInstructor(login, password);
} }

View File

@@ -26,11 +26,11 @@ public:
bool authorizationCompleted(); bool authorizationCompleted();
//Авторизация обучаемого на клиенте //Авторизация обучаемого на клиенте
bool authorizationTrainee(QString login, QString password, QString learnClass, QString computer); bool authorizationTrainee(QString login, QString password, QString classroom_name = QStringLiteral(""), QString computer_name = QStringLiteral(""));
bool deAuthorizationTrainee(QString login); bool deAuthorizationTrainee(QString login);
//Авторизация инструктора на клиенте //Авторизация инструктора на клиенте
bool authorizationInstructorLocal(QString login, QString password); bool authorizationInstructor(QString login, QString password);
bool deAuthorizationInstructor(QString login); bool deAuthorizationInstructor(QString login);
private: private:

View File

@@ -1,5 +1,6 @@
#include "databasetrainees.h" #include "databasetrainees.h"
#include <QApplication> #include <QApplication>
#include <QMessageBox>
DataBaseTrainees::DataBaseTrainees(DataBaseLMS* dbLMS) DataBaseTrainees::DataBaseTrainees(DataBaseLMS* dbLMS)
{ {
@@ -36,7 +37,7 @@ void DataBaseTrainees::LoadTraineesGroupsPSQL()
QApplication::beep(); QApplication::beep();
} }
bool DataBaseTrainees::AuthorizationTrainee(QString login, QString password, QString learnClass, QString computer) bool DataBaseTrainees::AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
{ {
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
@@ -48,12 +49,12 @@ bool DataBaseTrainees::AuthorizationTrainee(QString login, QString password, QSt
{ {
Trainee trainee = listOfTrainees[i]; Trainee trainee = listOfTrainees[i];
trainee.setLoggedIn(true); trainee.setLoggedIn(true);
trainee.setLearnClass(learnClass); //trainee.setLearnClass(learnClass);
trainee.setComputer(computer); //trainee.setComputer(computer);
bool result = dbLMS->updateTrainee(trainee); int id = dbLMS->updateTrainee(trainee);
if(result) if(id)
{ {
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
return true; return true;
@@ -77,12 +78,12 @@ bool DataBaseTrainees::deAuthorizationTrainee(QString login)
{ {
Trainee trainee = listOfTrainees[i]; Trainee trainee = listOfTrainees[i];
trainee.setLoggedIn(false); trainee.setLoggedIn(false);
trainee.setLearnClass(QStringLiteral("")); //trainee.setLearnClass(QStringLiteral(""));
trainee.setComputer(QStringLiteral("")); //trainee.setComputer(QStringLiteral(""));
bool result = dbLMS->updateTrainee(trainee); int id = dbLMS->updateTrainee(trainee);
if(result) if(id)
{ {
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
return true; return true;
@@ -94,6 +95,7 @@ bool DataBaseTrainees::deAuthorizationTrainee(QString login)
return false; return false;
} }
/*
void DataBaseTrainees::setTasks(QString login, QStringList tasks) void DataBaseTrainees::setTasks(QString login, QStringList tasks)
{ {
//Обучаемые //Обучаемые
@@ -102,39 +104,43 @@ void DataBaseTrainees::setTasks(QString login, QStringList tasks)
if(listOfTrainees[i].getLogin() == login) if(listOfTrainees[i].getLogin() == login)
listOfTrainees[i].setTasks(tasks); listOfTrainees[i].setTasks(tasks);
} }
} }*/
QStringList DataBaseTrainees::getTasks(QString login) QStringList DataBaseTrainees::getTasks(QString login)
{ {
QStringList tasks; QStringList tasksStrList;
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
{ {
if(listOfTrainees[i].getLogin() == login) if(listOfTrainees[i].getLogin() == login)
{ {
tasks = listOfTrainees[i].getTasks(); QList<Task> tasks = listOfTrainees[i].getTasks();
for(Task task: tasks)
{
tasksStrList.append(task.getName());
}
} }
} }
return tasks; return tasksStrList;
} }
QString DataBaseTrainees::getNameTraineeOnComputer(QString computer) QString DataBaseTrainees::getNameTraineeOnComputer(QString computer_name)
{ {
for(Trainee trainee : listOfTrainees) for(Trainee trainee : listOfTrainees)
{ {
if(trainee.getComputer() == computer) if(trainee.getComputer().getName() == computer_name)
return trainee.getName(); return trainee.getName();
} }
return QString(QStringLiteral("")); return QString(QStringLiteral(""));
} }
Trainee DataBaseTrainees::getTraineeOnComputer(QString computer) Trainee DataBaseTrainees::getTraineeOnComputer(QString computer_name)
{ {
for(Trainee trainee : listOfTrainees) for(Trainee trainee : listOfTrainees)
{ {
if(trainee.getComputer() == computer) if(trainee.getComputer().getName() == computer_name)
return trainee; return trainee;
} }
return Trainee(); return Trainee();
@@ -149,7 +155,7 @@ QString DataBaseTrainees::getNameTraineeByLogin(QString login)
} }
return QString(QStringLiteral("")); return QString(QStringLiteral(""));
} }
/*
QColor DataBaseTrainees::getColorGroupByLogin(QString login) QColor DataBaseTrainees::getColorGroupByLogin(QString login)
{ {
QString nameTrainee = getNameTraineeByLogin(login); QString nameTrainee = getNameTraineeByLogin(login);
@@ -157,15 +163,15 @@ QColor DataBaseTrainees::getColorGroupByLogin(QString login)
QString nameGroup = trainee.getGroup(); QString nameGroup = trainee.getGroup();
Group group = getGroup(nameGroup); Group group = getGroup(nameGroup);
return getColorGroup(group.getColor()); return getColorGroup(group.getColor());
} }*/
QList<Trainee> DataBaseTrainees::getListTraineesInGroup(QString nameGroup) QList<Trainee> DataBaseTrainees::getListTraineesInGroup(int id)
{ {
QList<Trainee> listTrainees; QList<Trainee> listTrainees;
for(Trainee trainee : listOfTrainees) for(Trainee trainee : listOfTrainees)
{ {
if(trainee.getGroup() == nameGroup) if(trainee.getGroup().getID() == id)
listTrainees.append(trainee); listTrainees.append(trainee);
} }
@@ -176,199 +182,185 @@ QList<Group> DataBaseTrainees::getListGroups()
{ {
return listOfGroups; return listOfGroups;
} }
/*
QColor DataBaseTrainees::getColorGroup(Group::ColorGroup numColor) QColor DataBaseTrainees::getColorGroup(Group::ColorGroup numColor)
{ {
if(numColor > listOfColorGroup.count() - 1) if(numColor > listOfColorGroup.count() - 1)
return listOfColorGroup.at(Group::ColorGroup::colorAther); return listOfColorGroup.at(Group::ColorGroup::colorAther);
return listOfColorGroup.at(numColor); return listOfColorGroup.at(numColor);
} }*/
Trainee DataBaseTrainees::getTrainee(QString name) Trainee DataBaseTrainees::getTrainee(int id)
{ {
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
{ {
if(listOfTrainees[i].getName() == name) if(listOfTrainees[i].getID() == id)
return listOfTrainees[i]; return listOfTrainees[i];
} }
return Trainee(); return Trainee();
} }
Group DataBaseTrainees::getGroup(QString nameGroup) Group DataBaseTrainees::getGroup(int id)
{ {
//Группы //Группы
for(int i = 0; i < listOfGroups.count(); i++) for(int i = 0; i < listOfGroups.count(); i++)
{ {
if(listOfGroups[i].getName() == nameGroup) if(listOfGroups[i].getID() == id)
return listOfGroups[i]; return listOfGroups[i];
} }
return Group(); return Group();
} }
QString DataBaseTrainees::newGroup() int DataBaseTrainees::newGroup()
{ {
Group group; Group group;
group.setName(generateDefaultNameGroup()); group.setName(generateDefaultNameGroup());
group.setColor(generateDefaultColorGroup());
bool result = dbLMS->insertGroup(group); int id = dbLMS->insertGroup(group);
if(result) if(id)
{ {
//listOfGroups.append(group);
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
return group.getName(); return id;
} }
else else
return QStringLiteral(""); return 0;
} }
bool DataBaseTrainees::deleteGroup(QString name) int DataBaseTrainees::deleteGroup(int id)
{ {
if(getListTraineesInGroup(name).count() > 0)
{//Группа не пуста
return false;
}
//Группы //Группы
for(int i = 0; i < listOfGroups.count(); i++) for(int i = 0; i < listOfGroups.count(); i++)
{ {
if(listOfGroups[i].getName() == name) if(listOfGroups[i].getID() == id)
{ {
int id = listOfGroups[i].getID(); int id_del = dbLMS->deleteGroup(id);
bool result = dbLMS->deleteGroup(id); if(id_del)
{
if(result)
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
//listOfGroups.removeAt(i); return id_del;
}
break; else
return 0;
} }
} }
return 0;
return true;
} }
bool DataBaseTrainees::editGroup(QString name, Group group) int DataBaseTrainees::editGroup(Group group)
{ {
//Группы //Группы
for(int i = 0; i < listOfGroups.count(); i++) for(int i = 0; i < listOfGroups.count(); i++)
{ {
if(listOfGroups[i].getName() == name) if(listOfGroups[i].getID() == group.getID())
{ {
if(!checkExistNameGroup(group.getName()) || group.getName() == name) if(!checkExistNameGroup(group.getName()) || group.getName() == listOfGroups[i].getName())
{ {
//group.setID(listOfGroups[i].getID()); int id = dbLMS->updateGroup(group);
bool result = dbLMS->updateGroup(group); if(id)
if(result)
{ {
/*
listOfGroups[i].setName(newName);
//Меняем имя группы у всех Обучаемых этой группы
//Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++)
{
if(listOfTrainees[i].getGroup() == name)
listOfTrainees[i].setGroup(newName);
}
*/
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
return id;
return true;
} }
else else
return false; return 0;
}
else
{
QMessageBox::critical(nullptr, tr("Editing error!"),
tr("An existing group name has been entered.\nThe changes will not be accepted."));
return 0;
} }
} }
} }
return false; return 0;
} }
QString DataBaseTrainees::newTrainee(QString nameGroup) int DataBaseTrainees::newTrainee(int id_group)
{ {
Trainee trainee; Trainee trainee;
trainee.setGroup(nameGroup); Group group;
group.setID(id_group);
trainee.setGroup(group);
trainee.setName(generateDefaultNameTrainee()); trainee.setName(generateDefaultNameTrainee());
trainee.setLogin(generateDefaultLoginTrainee()); trainee.setLogin(generateDefaultLoginTrainee());
trainee.setPassword(QStringLiteral("<password>")); trainee.setPassword(QStringLiteral("<password>"));
trainee.setLearnClass(QStringLiteral(""));
trainee.setComputer(QStringLiteral(""));
trainee.setArchived(false); trainee.setArchived(false);
trainee.setLoggedIn(false); trainee.setLoggedIn(false);
//trainee.setWhatItDoes(QStringLiteral(""));
bool result = dbLMS->insertTrainee(trainee); int id = dbLMS->insertTrainee(trainee);
if(result) if(id)
{ {
//listOfTrainees.append(trainee);
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
return trainee.getName(); return id;
} }
else else
return QStringLiteral(""); return 0;
} }
void DataBaseTrainees::deleteTrainee(QString name) int DataBaseTrainees::deleteTrainee(int id)
{ {
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
{ {
if(listOfTrainees[i].getName() == name) if(listOfTrainees[i].getID() == id)
{ {
int id = listOfTrainees[i].getID(); int id_del = dbLMS->deleteTrainee(id);
bool result = dbLMS->deleteTrainee(id); if(id_del)
{
if(result)
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
//listOfTrainees.removeAt(i); return id_del;
}
return; return 0;
} }
} }
return 0;
} }
bool DataBaseTrainees::editTrainee(QString name, Trainee trainee) int DataBaseTrainees::editTrainee(Trainee trainee)
{ {
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
{ {
if(listOfTrainees[i].getName() == name) if(listOfTrainees[i].getID() == trainee.getID())
{ {
if( (!checkExistNameTrainee(trainee.getName()) || trainee.getName() == name) && if( (!checkExistNameTrainee(trainee.getName()) || trainee.getName() == listOfTrainees[i].getName()) &&
(!checkExistLoginTrainee(trainee.getLogin()) || trainee.getLogin() == listOfTrainees[i].getLogin()) ) (!checkExistLoginTrainee(trainee.getLogin()) || trainee.getLogin() == listOfTrainees[i].getLogin()) )
{ {
//trainee.setID(listOfTrainees[i].getID()); int id = dbLMS->updateTrainee(trainee);
bool result = dbLMS->updateTrainee(trainee); if(id)
if(result)
{ {
//listOfTrainees.replace(i, trainee);
LoadTraineesGroupsPSQL(); LoadTraineesGroupsPSQL();
return true; return id;
} }
else else
return false; return 0;
}
else
{
QMessageBox::critical(nullptr, tr("Editing error!"),
tr("An existing trainee's name or login has been entered.\nThe changes will not be accepted."));
return 0;
} }
} }
} }
return false; return 0;
} }
bool DataBaseTrainees::isArchived(QString name) bool DataBaseTrainees::isArchived(int id)
{ {
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
{ {
if(listOfTrainees[i].getName() == name) if(listOfTrainees[i].getID()== id)
return listOfTrainees[i].getArchived(); return listOfTrainees[i].getArchived();
} }
return false; return false;
@@ -439,7 +431,7 @@ bool DataBaseTrainees::checkExistLoginTrainee(QString login)
} }
return false; return false;
} }
/*
Group::ColorGroup DataBaseTrainees::generateDefaultColorGroup() Group::ColorGroup DataBaseTrainees::generateDefaultColorGroup()
{ {
for(int i = 0; i < Group::ColorGroup::countColor; i++) for(int i = 0; i < Group::ColorGroup::countColor; i++)
@@ -449,8 +441,8 @@ Group::ColorGroup DataBaseTrainees::generateDefaultColorGroup()
return color; return color;
} }
return Group::ColorGroup::colorAther; return Group::ColorGroup::colorAther;
} }*/
/*
bool DataBaseTrainees::checkExistColorGroup(Group::ColorGroup color) bool DataBaseTrainees::checkExistColorGroup(Group::ColorGroup color)
{ {
//Группы //Группы
@@ -460,4 +452,4 @@ bool DataBaseTrainees::checkExistColorGroup(Group::ColorGroup color)
return true; return true;
} }
return false; return false;
} }*/

View File

@@ -11,7 +11,7 @@
#include <QColor> #include <QColor>
#include <QObject> #include <QObject>
class INSTRUCTORSANDTRAINEES_EXPORT DataBaseTrainees : QObject class DataBaseTrainees : QObject
{ {
Q_OBJECT Q_OBJECT
@@ -21,35 +21,33 @@ public:
void LoadTraineesGroupsPSQL(); void LoadTraineesGroupsPSQL();
bool AuthorizationTrainee(QString login, QString password, QString learnClass, QString computer); bool AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name);
bool deAuthorizationTrainee(QString login); bool deAuthorizationTrainee(QString login);
void setTasks(QString login, QStringList tasks); //void setTasks(QString login, QStringList tasks);
QStringList getTasks(QString login); QStringList getTasks(QString login);
QString getNameTraineeOnComputer(QString computer); QString getNameTraineeOnComputer(QString computer_name);
Trainee getTraineeOnComputer(QString computer); Trainee getTraineeOnComputer(QString computer_name);
QString getNameTraineeByLogin(QString login); QString getNameTraineeByLogin(QString login);
QColor getColorGroupByLogin(QString login); //QColor getColorGroupByLogin(QString login);
QList<Trainee> getListTraineesInGroup(QString nameGroup); QList<Trainee> getListTraineesInGroup(int id);
QList<Group> getListGroups(); QList<Group> getListGroups();
QColor getColorGroup(Group::ColorGroup numColor); Trainee getTrainee(int id);
Group getGroup(int id);
Trainee getTrainee(QString name); int newGroup();
Group getGroup(QString nameGroup); int deleteGroup(int id);
int editGroup(Group group);
QString newGroup(); int newTrainee(int id_group);
bool deleteGroup(QString name); int deleteTrainee(int id);
bool editGroup(QString name, Group group); int editTrainee(Trainee trainee);
QString newTrainee(QString nameGroup); bool isArchived(int id);
void deleteTrainee(QString name);
bool editTrainee(QString name, Trainee trainee);
bool isArchived(QString name);
private: private:
QString generateDefaultNameGroup(); QString generateDefaultNameGroup();
@@ -60,9 +58,6 @@ private:
QString generateDefaultLoginTrainee(); QString generateDefaultLoginTrainee();
bool checkExistLoginTrainee(QString login); bool checkExistLoginTrainee(QString login);
Group::ColorGroup generateDefaultColorGroup();
bool checkExistColorGroup(Group::ColorGroup color);
private: private:
QList<Trainee> listOfTrainees; QList<Trainee> listOfTrainees;
QList<Group> listOfGroups; QList<Group> listOfGroups;

View File

@@ -5,8 +5,7 @@
#include "dialogedittrainee.h" #include "dialogedittrainee.h"
EditorTrainees::EditorTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent) : EditorTrainees::EditorTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent) :
//QDialog(parent), TraineesView(db, CommonView::TypeView::control, adminMode, parent),
TraineesView(db, CommonView::TypeView::control, parent),
ui(new Ui::EditorTrainees) ui(new Ui::EditorTrainees)
{ {
ui->setupUi((QDialog*)this); ui->setupUi((QDialog*)this);
@@ -23,9 +22,9 @@ EditorTrainees::~EditorTrainees()
void EditorTrainees::on_btnNewGroup_clicked() void EditorTrainees::on_btnNewGroup_clicked()
{ {
QString nameGroup = dbTrainees->newGroup(); int id = dbTrainees->newGroup();
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentGroup(nameGroup); setCurrentGroup(id);
} }
void EditorTrainees::on_btnDeleteGroup_clicked() void EditorTrainees::on_btnDeleteGroup_clicked()
@@ -37,13 +36,24 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent(); QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбрана группа {//Выбрана группа
QString name = treeItemCurrent->text(0); int id_group = treeItemCurrent->text(0).toInt();
if(dbTrainees->deleteGroup(name))
{//Удалено if(dbTrainees->getListTraineesInGroup(id_group).count() > 0)
loadTraineesFromDB(); {
QMessageBox::critical(this, tr("Editing error!"), tr("The group is not empty.\nIt is not possible to delete a non-empty group."));
return;
} }
else else
QMessageBox::critical(this, tr("Editing error!"), tr("The group is not empty.\nIt is not possible to delete a non-empty group.")); {//Пустая группа
if(int id = dbTrainees->deleteGroup(id_group))
{//Удалено
loadTraineesFromDB();
}
else
{
//Ошибка удаления
}
}
} }
} }
} }
@@ -57,10 +67,16 @@ void EditorTrainees::on_btnNewTrainee_clicked()
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent(); QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбрана группа. Можно добавить Обучаемого {//Выбрана группа. Можно добавить Обучаемого
QString nameGroup = treeItemCurrent->text(0); int id_group = treeItemCurrent->text(0).toInt();
dbTrainees->newTrainee(nameGroup); if(int id = dbTrainees->newTrainee(id_group))
loadTraineesFromDB(); {
setCurrentGroup(nameGroup); loadTraineesFromDB();
setCurrentGroup(id_group);
}
else
{
//Ошибка добавления
}
} }
} }
} }
@@ -75,14 +91,20 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
if(treeItemParent != nullptr) if(treeItemParent != nullptr)
{//Выбран обучаемый {//Выбран обучаемый
QString name = treeItemCurrent->text(0); int id_trainee = treeItemCurrent->text(0).toInt();
QString nameGroup = treeItemParent->text(0); int id_group = treeItemParent->text(0).toInt();
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok) if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
{ {
dbTrainees->deleteTrainee(name); if(int id = dbTrainees->deleteTrainee(id_trainee))
loadTraineesFromDB(); {//Удалено
setCurrentGroup(nameGroup); loadTraineesFromDB();
setCurrentGroup(id_group);
}
else
{
//Ошибка удаления
}
} }
} }
} }
@@ -98,29 +120,37 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
if(treeItemParent != nullptr) if(treeItemParent != nullptr)
{//Выбран обучаемый {//Выбран обучаемый
QString name = treeItemCurrent->text(0); int id_trainee = treeItemCurrent->text(0).toInt();
Trainee trainee = dbTrainees->getTrainee(name); Trainee trainee = dbTrainees->getTrainee(id_trainee);
if(trainee.getArchived()) if(trainee.getArchived())
{//Архивный {//Архивный
trainee.setArchived(false); trainee.setArchived(false);
if(dbTrainees->editTrainee(name, trainee)) if(int id = dbTrainees->editTrainee(trainee))
{ {//Отредактировано
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentTrainee(trainee.getName()); setCurrentTrainee(id);
}
else
{
//Ошибка редактирования
} }
} }
else else
{//Не Архивный {//Не Архивный
trainee.setArchived(true); trainee.setArchived(true);
if(dbTrainees->editTrainee(name, trainee)) if(int id = dbTrainees->editTrainee(trainee))
{ {//Отредактировано
if(!archiveVisible) if(!archiveVisible)
ui->btnArchive->click(); ui->btnArchive->click();
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentTrainee(trainee.getName()); setCurrentTrainee(id);
}
else
{
//Ошибка редактирования
} }
} }
} }
@@ -138,23 +168,25 @@ void EditorTrainees::on_btnEdit_clicked()
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбрана группа {//Выбрана группа
QString nameGroup = treeItemCurrent->text(0); int id_group = treeItemCurrent->text(0).toInt();
DialogEditGroup dlg(this); DialogEditGroup dlg(this);
dlg.setGroup(dbTrainees->getGroup(nameGroup)); dlg.setGroup(dbTrainees->getGroup(id_group));
switch( dlg.exec() ) switch( dlg.exec() )
{ {
case QDialog::Accepted: case QDialog::Accepted:
{ {
if(dbTrainees->editGroup(nameGroup, dlg.getGroup())) if(int id = dbTrainees->editGroup(dlg.getGroup()))
{ {//Отредактировано
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentGroup(dlg.getGroup().getName()); setCurrentGroup(id);
} }
else else
QMessageBox::critical(this, tr("Editing error!"), {
tr("An existing group name has been entered.\nThe changes will not be accepted.")); //Ошибка редактирования
}
break; break;
} }
case QDialog::Rejected: case QDialog::Rejected:
@@ -166,23 +198,25 @@ void EditorTrainees::on_btnEdit_clicked()
else else
{//Выбран обучаемый {//Выбран обучаемый
QString name = treeItemCurrent->text(0); int id_trainee = treeItemCurrent->text(0).toInt();
DialogEditTrainee dlg(this); DialogEditTrainee dlg(this);
dlg.setTrainee(dbTrainees->getTrainee(name)); dlg.setTrainee(dbTrainees->getTrainee(id_trainee));
switch( dlg.exec() ) switch( dlg.exec() )
{ {
case QDialog::Accepted: case QDialog::Accepted:
{ {
if(dbTrainees->editTrainee(name, dlg.getTrainee())) if(int id = dbTrainees->editTrainee(dlg.getTrainee()))
{ {//Отредактировано
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentTrainee(dlg.getTrainee().getName()); setCurrentTrainee(id);
} }
else else
QMessageBox::critical(this, tr("Editing error!"), {
tr("An existing trainee's name or login has been entered.\nThe changes will not be accepted.")); //Ошибка редактирования
}
break; break;
} }
case QDialog::Rejected: case QDialog::Rejected:
@@ -210,8 +244,27 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
QTreeWidgetItem *treeItemParent = current->parent(); QTreeWidgetItem *treeItemParent = current->parent();
if(treeItemParent == nullptr) if(treeItemParent == nullptr)
{//Выбрана группа {//Выбрана группа
ui->btnNewGroup->setEnabled(true); int id_group = current->text(0).toInt();
ui->btnDeleteGroup->setEnabled(true);
if(adminMode)
{
ui->btnNewGroup->setEnabled(true);
if(dbTrainees->getListTraineesInGroup(id_group).count() > 0)
{//Группа не пуста
ui->btnDeleteGroup->setEnabled(false);
}
else
{//Группа пуста
ui->btnDeleteGroup->setEnabled(true);
}
}
else
{
ui->btnNewGroup->setEnabled(false);
ui->btnDeleteGroup->setEnabled(false);
}
ui->btnNewTrainee->setEnabled(true); ui->btnNewTrainee->setEnabled(true);
ui->btnDeleteTrainee->setEnabled(false); ui->btnDeleteTrainee->setEnabled(false);
ui->btnToOrFromArchiveTrainee->setEnabled(false); ui->btnToOrFromArchiveTrainee->setEnabled(false);
@@ -223,13 +276,13 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
} }
else else
{//Выбран обучаемый {//Выбран обучаемый
QString name = current->text(0); int id_trainee = current->text(0).toInt();
ui->btnNewGroup->setEnabled(false); ui->btnNewGroup->setEnabled(false);
ui->btnDeleteGroup->setEnabled(false); ui->btnDeleteGroup->setEnabled(false);
ui->btnNewTrainee->setEnabled(false); ui->btnNewTrainee->setEnabled(false);
if(dbTrainees->isArchived(name)) if(dbTrainees->isArchived(id_trainee))
{//Архивный {//Архивный
ui->btnDeleteTrainee->setEnabled(true); ui->btnDeleteTrainee->setEnabled(true);
@@ -251,13 +304,13 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
} }
} }
void EditorTrainees::setCurrentGroup(QString nameGroup) void EditorTrainees::setCurrentGroup(int id)
{ {
for(int i = 0; i < treeWidget->topLevelItemCount(); i++) for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
{ {
QTreeWidgetItem * item = treeWidget->topLevelItem(i); QTreeWidgetItem * item = treeWidget->topLevelItem(i);
if(item != nullptr) if(item != nullptr)
if(item->text(0) == nameGroup) if(item->text(0).toInt() == id)
{ {
treeWidget->setCurrentItem(item); treeWidget->setCurrentItem(item);
break; break;
@@ -265,7 +318,7 @@ void EditorTrainees::setCurrentGroup(QString nameGroup)
} }
} }
void EditorTrainees::setCurrentTrainee(QString name) void EditorTrainees::setCurrentTrainee(int id)
{ {
for(int i = 0; i < treeWidget->topLevelItemCount(); i++) for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
{ {
@@ -276,7 +329,7 @@ void EditorTrainees::setCurrentTrainee(QString name)
{ {
QTreeWidgetItem * itemChild = item->child(j); QTreeWidgetItem * itemChild = item->child(j);
if(itemChild != nullptr) if(itemChild != nullptr)
if(itemChild->text(0) == name) if(itemChild->text(0).toInt() == id)
{ {
treeWidget->setCurrentItem(itemChild); treeWidget->setCurrentItem(itemChild);
break; break;

View File

@@ -18,7 +18,7 @@ class EditorTrainees : /*public QDialog,*/ public TraineesView
Q_OBJECT Q_OBJECT
public: public:
explicit EditorTrainees(DataBaseTrainees* db, bool adminMode = false, QWidget *parent = nullptr); explicit EditorTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent = nullptr);
~EditorTrainees(); ~EditorTrainees();
private Q_SLOTS: private Q_SLOTS:
@@ -32,8 +32,8 @@ private Q_SLOTS:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
private: private:
void setCurrentGroup(QString nameGroup); void setCurrentGroup(int id);
void setCurrentTrainee(QString name); void setCurrentTrainee(int id);
private: private:
Ui::EditorTrainees *ui; Ui::EditorTrainees *ui;

View File

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

View File

@@ -7,12 +7,12 @@
//Родительский класс представления БД Обучаемых (для просмотра и управления) //Родительский класс представления БД Обучаемых (для просмотра и управления)
class INSTRUCTORSANDTRAINEES_EXPORT TraineesView: public CommonView class TraineesView: public CommonView
{ {
Q_OBJECT Q_OBJECT
public: public:
TraineesView(DataBaseTrainees* db, TypeView type, QWidget *parent = nullptr); TraineesView(DataBaseTrainees* db, TypeView type, bool adminMode, QWidget *parent = nullptr);
protected: protected:
void preparationTreeWidget(QTreeWidget* tree); void preparationTreeWidget(QTreeWidget* tree);

View File

@@ -3,8 +3,7 @@
#include "ui_viewertrainees.h" #include "ui_viewertrainees.h"
ViewerTrainees::ViewerTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent) : ViewerTrainees::ViewerTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent) :
//QWidget(parent), TraineesView(db, CommonView::TypeView::onlyView, adminMode, parent),
TraineesView(db, CommonView::TypeView::onlyView, parent),
ui(new Ui::ViewerTrainees) ui(new Ui::ViewerTrainees)
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -35,7 +34,7 @@ void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column
{ {
if(item->childCount() == 0) if(item->childCount() == 0)
{//Выбран обучаемый {//Выбран обучаемый
QString login = item->text(1); QString login = item->text(2);
Q_EMIT signal_traineeSelected(login); Q_EMIT signal_traineeSelected(login);
} }
} }
@@ -48,7 +47,7 @@ void ViewerTrainees::slot_tabMessengerChanged(QString login)
for (int j = 0; j < countChild; j++) for (int j = 0; j < countChild; j++)
{//Проход по обучаемым {//Проход по обучаемым
QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(1); QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(2);
if(loginChild == login) if(loginChild == login)
{ {
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j)); ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j));
@@ -80,16 +79,12 @@ void ViewerTrainees::slot_LanguageChanged(QString language)
void ViewerTrainees::on_btnEditorTrainees_clicked() void ViewerTrainees::on_btnEditorTrainees_clicked()
{ {
EditorTrainees editorTraineesGroups(dbTrainees, adminMode); EditorTrainees editorTraineesGroups(dbTrainees, adminMode);
//dlg.setWindowTitle(tr("List trainees"));
//dlg.exec();
//dlg.show();
QDialog* dialog = new QDialog(this); QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog); QHBoxLayout *layout = new QHBoxLayout(dialog);
layout->addWidget(&editorTraineesGroups); layout->addWidget(&editorTraineesGroups);
dialog->setWindowTitle(tr("List trainees")); dialog->setWindowTitle(tr("Editor of trainees"));
dialog->setMinimumSize(1400, 800); dialog->setMinimumSize(1400, 800);
dialog->exec(); dialog->exec();
dbTrainees->LoadTraineesGroupsPSQL();
loadTraineesFromDB(); loadTraineesFromDB();
} }

View File

@@ -14,7 +14,7 @@ class ViewerTrainees;
//Виджет только для просмотра БД Обучаемых //Виджет только для просмотра БД Обучаемых
class INSTRUCTORSANDTRAINEES_EXPORT ViewerTrainees : public TraineesView class ViewerTrainees : public TraineesView
{ {
Q_OBJECT Q_OBJECT

View File

@@ -16,12 +16,22 @@ add_library(DataBaseLMS SHARED
DataBaseLMS_global.h DataBaseLMS_global.h
databaselms.cpp databaselms.cpp
databaselms.h databaselms.h
basicentity.cpp
basicentity.h
user.cpp
user.h
instructor.cpp instructor.cpp
instructor.h instructor.h
trainee.h
trainee.cpp trainee.cpp
trainee.h
group.cpp group.cpp
group.h group.h
computer.cpp
computer.h
task.cpp
task.h
classroom.cpp
classroom.h
) )
target_link_libraries(DataBaseLMS PRIVATE Qt5::Widgets) target_link_libraries(DataBaseLMS PRIVATE Qt5::Widgets)

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. --> <!-- Written by QtCreator 4.11.1, 2024-11-06T16:05:43. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -0,0 +1,14 @@
#include "basicentity.h"
BasicEntity::BasicEntity():
id(),
name()
{
}
BasicEntity::BasicEntity(int id, QString name)
{
this->id = id;
this->name = name;
}

View File

@@ -0,0 +1,24 @@
#ifndef BASICENTITY_H
#define BASICENTITY_H
#include <QString>
#include "DataBaseLMS_global.h"
class BasicEntity
{
public:
BasicEntity();
BasicEntity(int id, QString name);
void setID(int id){this->id = id;}
int getID(){return id;}
void setName(QString name){this->name = name;}
QString getName(){return name;}
protected:
int id;
QString name;
};
#endif // BASICENTITY_H

View File

@@ -0,0 +1,13 @@
#include "classroom.h"
Classroom::Classroom():
BasicEntity()
{
}
Classroom::Classroom(int id, QString name):
BasicEntity(id, name)
{
}

View File

@@ -0,0 +1,13 @@
#ifndef CLASSROOM_H
#define CLASSROOM_H
#include "basicentity.h"
class DATABASELMS_EXPORT Classroom: public BasicEntity
{
public:
Classroom();
Classroom(int id, QString name);
};
#endif // CLASSROOM_H

View File

@@ -0,0 +1,16 @@
#include "computer.h"
Computer::Computer():
BasicEntity(),
classroom(),
ipAddress()
{
}
Computer::Computer(int id, QString name, QString ipAddress, Classroom classroom):
BasicEntity(id, name)
{
this->ipAddress = ipAddress;
this->classroom = classroom;
}

View File

@@ -0,0 +1,24 @@
#ifndef COMPUTER_H
#define COMPUTER_H
#include "basicentity.h"
#include "classroom.h"
class DATABASELMS_EXPORT Computer: public BasicEntity
{
public:
Computer();
Computer(int id, QString name, QString ipAddress, Classroom classroom);
void setClassroom(Classroom classroom){this->classroom = classroom;}
Classroom getClassroom(){return classroom;}
void setIpAddress(QString ipAddress){this->ipAddress = ipAddress;}
QString getIpAddress(){return ipAddress;}
private:
Classroom classroom;
QString ipAddress;
};
#endif // COMPUTER_H

View File

@@ -81,13 +81,13 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
QList<Trainee> listTrainees; QList<Trainee> listTrainees;
QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, trainees.logged_in, " QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, trainees.logged_in, "
"groups_of_trainees.name, " "groups.group_id, groups.name, "
"educational_classes.name, " "computers.computer_id, computers.name, computers.ip_address, "
"computers.name, computers.ip_address " "classrooms.classroom_id, classrooms.name "
"FROM public.trainees JOIN public.groups_of_trainees ON groups_of_trainees.group_id = trainees.group_trainees " "FROM public.trainees JOIN public.groups ON groups.group_id = trainees.group_trainee "
"LEFT OUTER JOIN public.computers ON computers.computer_id = trainees.computer " "LEFT OUTER JOIN public.computers ON computers.computer_id = trainees.computer_trainee "
"LEFT OUTER JOIN public.educational_classes ON educational_classes.class_id = computers.class " "LEFT OUTER JOIN public.classrooms ON classrooms.classroom_id = computers.classroom_computer "
"ORDER BY groups_of_trainees.name ASC"); "ORDER BY groups.name, trainees.name ASC");
QSqlQuery query(*db); QSqlQuery query(*db);
if(!query.exec(queryStr)) if(!query.exec(queryStr))
@@ -106,11 +106,13 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
trainee.setPassword(query.value(3).toString()); trainee.setPassword(query.value(3).toString());
trainee.setArchived(query.value(4).toBool()); trainee.setArchived(query.value(4).toBool());
trainee.setLoggedIn(query.value(5).toBool()); trainee.setLoggedIn(query.value(5).toBool());
trainee.setGroup(query.value(6).toString());
trainee.setLearnClass(query.value(7).toString()); Group group = Group(query.value(6).toInt(), query.value(7).toString());
trainee.setComputer(query.value(8).toString()); trainee.setGroup(group);
trainee.setIpAddress(query.value(9).toString());
Classroom classroom = Classroom(query.value(11).toInt(), query.value(12).toString());
Computer computer = Computer(query.value(8).toInt(), query.value(9).toString(), query.value(10).toString(), classroom);
trainee.setComputer(computer);
trainee.setTasks(selectTasksOfTrainee(trainee.getID())); trainee.setTasks(selectTasksOfTrainee(trainee.getID()));
@@ -125,8 +127,8 @@ QList<Group> DataBaseLMS::selectAllGroups()
{ {
QList<Group> listGroups; QList<Group> listGroups;
QString queryStr = QString("SELECT group_id, name, color " QString queryStr = QString("SELECT group_id, name "
"FROM public.groups_of_trainees " "FROM public.groups "
"ORDER BY group_id ASC"); "ORDER BY group_id ASC");
QSqlQuery query(*db); QSqlQuery query(*db);
@@ -141,7 +143,6 @@ QList<Group> DataBaseLMS::selectAllGroups()
Group group; Group group;
group.setID(query.value(0).toInt()); group.setID(query.value(0).toInt());
group.setName(query.value(1).toString()); group.setName(query.value(1).toString());
group.setColor((Group::ColorGroup)query.value(2).toInt());
listGroups.append(group); listGroups.append(group);
} }
@@ -150,10 +151,10 @@ QList<Group> DataBaseLMS::selectAllGroups()
return listGroups; return listGroups;
} }
bool DataBaseLMS::insertInstructor(Instructor instructor) int DataBaseLMS::insertInstructor(Instructor instructor)
{ {
QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived, logged_in) " QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived, logged_in) "
"VALUES ('%1', '%2', '%3', %4, %5, %6)").arg( "VALUES ('%1', '%2', '%3', %4, %5, %6) RETURNING instructor_id").arg(
instructor.getName(), instructor.getName(),
instructor.getLogin(), instructor.getLogin(),
instructor.getPassword(), instructor.getPassword(),
@@ -164,18 +165,18 @@ bool DataBaseLMS::insertInstructor(Instructor instructor)
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::deleteInstructor(int instructor_id) int DataBaseLMS::deleteInstructor(int instructor_id)
{ {
QString queryStr = QString("DELETE FROM public.instructors WHERE instructor_id = %1").arg(QString::number(instructor_id)); QString queryStr = QString("DELETE FROM public.instructors WHERE instructor_id = %1 RETURNING instructors.instructor_id").arg(QString::number(instructor_id));
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::updateInstructor(Instructor instructor) int DataBaseLMS::updateInstructor(Instructor instructor)
{ {
QString queryStr = QString("UPDATE public.instructors " QString queryStr = QString("UPDATE public.instructors "
"SET name = '%1', login = '%2', password = '%3', is_admin = %4, archived = %5, logged_in = %6 " "SET name = '%1', login = '%2', password = '%3', is_admin = %4, archived = %5, logged_in = %6 "
"WHERE instructor_id = %7").arg( "WHERE instructor_id = %7 RETURNING instructors.instructor_id").arg(
instructor.getName(), instructor.getName(),
instructor.getLogin(), instructor.getLogin(),
instructor.getPassword(), instructor.getPassword(),
@@ -187,87 +188,81 @@ bool DataBaseLMS::updateInstructor(Instructor instructor)
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::insertGroup(Group group) int DataBaseLMS::insertGroup(Group group)
{ {
QString queryStr = QString("INSERT INTO public.groups_of_trainees (name, color) " QString queryStr = QString("INSERT INTO public.groups (name) "
"VALUES ('%1', %2)").arg( "VALUES ('%1') RETURNING groups.group_id").arg(
group.getName(), group.getName());
QString::number((int)group.getColor()));
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::deleteGroup(int group_id) int DataBaseLMS::deleteGroup(int group_id)
{ {
QString queryStr = QString("DELETE FROM public.groups_of_trainees WHERE group_id = %1").arg(QString::number(group_id)); QString queryStr = QString("DELETE FROM public.groups WHERE group_id = %1 RETURNING groups.group_id").arg(QString::number(group_id));
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::updateGroup(Group group) int DataBaseLMS::updateGroup(Group group)
{ {
QString queryStr = QString("UPDATE public.groups_of_trainees SET name = '%1', color = %2 WHERE group_id = %3").arg( QString queryStr = QString("UPDATE public.groups SET name = '%1' WHERE group_id = %2 RETURNING groups.group_id").arg(
group.getName(), group.getName(),
QString::number((int)group.getColor()),
QString::number(group.getID()) ); QString::number(group.getID()) );
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::insertTrainee(Trainee trainee) int DataBaseLMS::insertTrainee(Trainee trainee)
{ {
QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, logged_in, group_trainees, computer) " QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, logged_in, group_trainee) "
"VALUES ('%1', '%2', '%3', %4, %5, " "VALUES ('%1', '%2', '%3', %4, %5, %6) RETURNING trainees.trainee_id").arg(
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%6'), "
"(SELECT computer_id FROM public.computers WHERE name = '%7') "
")").arg(
trainee.getName(), trainee.getName(),
trainee.getLogin(), trainee.getLogin(),
trainee.getPassword(), trainee.getPassword(),
trainee.getArchived() ? "true" : "false", trainee.getArchived() ? "true" : "false",
trainee.getLoggedIn() ? "true" : "false", trainee.getLoggedIn() ? "true" : "false",
trainee.getGroup(), QString::number(trainee.getGroup().getID()));
trainee.getComputer());
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::deleteTrainee(int trainee_id) int DataBaseLMS::deleteTrainee(int trainee_id)
{ {
QString queryStr = QString("DELETE FROM public.trainees WHERE trainee_id = %1").arg(QString::number(trainee_id)); QString queryStr = QString("DELETE FROM public.trainees WHERE trainee_id = %1 RETURNING trainees.trainee_id").arg(QString::number(trainee_id));
return queryExec(queryStr); return queryExec(queryStr);
} }
bool DataBaseLMS::updateTrainee(Trainee trainee) int DataBaseLMS::updateTrainee(Trainee trainee)
{ {
QString computer_id = (trainee.getComputer().getID() == 0 ? QStringLiteral("null") : QString::number(trainee.getComputer().getID()));
QString queryStr = QString("UPDATE public.trainees " QString queryStr = QString("UPDATE public.trainees "
"SET name = '%1', login = '%2', password = '%3', archived = %4, logged_in = %5, " "SET name = '%1', login = '%2', password = '%3', archived = %4, logged_in = %5, "
"group_trainees = " "group_trainee = %6, "
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%6'), " "computer_trainee = %7 "
"computer = " "WHERE trainee_id = %8 RETURNING trainees.trainee_id").arg(
"(SELECT computer_id FROM public.computers WHERE name = '%7') "
"WHERE trainee_id = %8").arg(
trainee.getName(), trainee.getName(),
trainee.getLogin(), trainee.getLogin(),
trainee.getPassword(), trainee.getPassword(),
trainee.getArchived() ? "true" : "false", trainee.getArchived() ? "true" : "false",
trainee.getLoggedIn() ? "true" : "false", trainee.getLoggedIn() ? "true" : "false",
trainee.getGroup(), QString::number(trainee.getGroup().getID()),
trainee.getComputer(), computer_id,
QString::number(trainee.getID()) ); QString::number(trainee.getID()) );
return queryExec(queryStr); return queryExec(queryStr);
} }
QStringList DataBaseLMS::selectTasksOfTrainee(int trainee_id) QList<Task> DataBaseLMS::selectTasksOfTrainee(int trainee_id)
{ {
QStringList tasks; QList<Task> tasks;
QString queryStr = QString("SELECT tasks.task_id, tasks.name " QString queryStr = QString("SELECT tasks.task_id, tasks.name "
"FROM public.trainees " "FROM public.trainees "
"JOIN public.trainee_tasks ON trainee_tasks.trainee_id = trainees.trainee_id " "JOIN public.trainees_tasks ON trainees_tasks.trainee_id = trainees.trainee_id "
"JOIN public.tasks ON tasks.task_id = trainee_tasks.task_id " "JOIN public.tasks ON tasks.task_id = trainees_tasks.task_id "
"WHERE trainees.trainee_id = %1 " "WHERE trainees.trainee_id = %1 "
"ORDER BY tasks.name ASC").arg( "ORDER BY tasks.name ASC").arg(
trainee_id); trainee_id);
@@ -281,23 +276,31 @@ QStringList DataBaseLMS::selectTasksOfTrainee(int trainee_id)
{ {
while (query.next()) while (query.next())
{//Задача {//Задача
tasks.append(query.value(1).toString()); Task task;
task.setID(query.value(0).toInt());
task.setName(query.value(1).toString());
tasks.append(task);
} }
} }
return tasks; return tasks;
} }
bool DataBaseLMS::queryExec(QString queryStr) int DataBaseLMS::queryExec(QString queryStr)
{ {
QSqlQuery query(*db); QSqlQuery query(*db);
if(!query.exec(queryStr)) if(!query.exec(queryStr))
{ {
messageWarningErrorQuery(queryStr); messageWarningErrorQuery(queryStr);
return false; return 0;
} }
else else
return true; {
if(query.next())
return query.value(0).toInt();
else
return 0;
}
} }
void DataBaseLMS::messageWarningErrorQuery(QString queryStr) void DataBaseLMS::messageWarningErrorQuery(QString queryStr)

View File

@@ -23,22 +23,22 @@ public:
QList<Trainee> selectAllTrainees(); QList<Trainee> selectAllTrainees();
QList<Group> selectAllGroups(); QList<Group> selectAllGroups();
bool insertInstructor(Instructor instructor); int insertInstructor(Instructor instructor);
bool deleteInstructor(int instructor_id); int deleteInstructor(int instructor_id);
bool updateInstructor(Instructor instructor); int updateInstructor(Instructor instructor);
bool insertGroup(Group group); int insertGroup(Group group);
bool deleteGroup(int group_id); int deleteGroup(int group_id);
bool updateGroup(Group group); int updateGroup(Group group);
bool insertTrainee(Trainee trainee); int insertTrainee(Trainee trainee);
bool deleteTrainee(int trainee_id); int deleteTrainee(int trainee_id);
bool updateTrainee(Trainee trainee); int updateTrainee(Trainee trainee);
QStringList selectTasksOfTrainee(int trainee_id); QList<Task> selectTasksOfTrainee(int trainee_id);
private: private:
bool queryExec(QString queryStr); int queryExec(QString queryStr);
void messageWarningErrorQuery(QString queryStr); void messageWarningErrorQuery(QString queryStr);
private: private:

View File

@@ -1,9 +1,13 @@
#include "group.h" #include "group.h"
Group::Group(): Group::Group():
group_id(), BasicEntity()
name(), {
color()
}
Group::Group(int id, QString name):
BasicEntity(id, name)
{ {
} }

View File

@@ -1,45 +1,13 @@
#ifndef GROUP_H #ifndef GROUP_H
#define GROUP_H #define GROUP_H
#include <QString> #include "basicentity.h"
#include <QColor>
#include "DataBaseLMS_global.h"
class DATABASELMS_EXPORT Group class DATABASELMS_EXPORT Group: public BasicEntity
{ {
public:
enum ColorGroup
{
color0,
color1,
color2,
color3,
color4,
color5,
color6,
color7,
color8,
color9,
colorAther,
countColor
};
public: public:
Group(); Group();
Group(int id, QString name);
void setID(int group_id){this->group_id = group_id;}
int getID(){return group_id;}
void setName(QString name){this->name = name;}
QString getName(){return name;}
void setColor(ColorGroup color){this->color = color;}
ColorGroup getColor(){return color;}
private:
int group_id;
QString name;
ColorGroup color;
}; };
#endif // GROUP_H #endif // GROUP_H

View File

@@ -1,13 +1,8 @@
#include "instructor.h" #include "instructor.h"
Instructor::Instructor(): Instructor::Instructor():
instructor_id(), User(),
name(), isAdmin()
login(),
password(),
isAdmin(false),
archived(false),
loggedIn(false)
{ {
} }

View File

@@ -1,43 +1,18 @@
#ifndef INSTRUCTOR_H #ifndef INSTRUCTOR_H
#define INSTRUCTOR_H #define INSTRUCTOR_H
#include <QString> #include "user.h"
#include "DataBaseLMS_global.h"
class DATABASELMS_EXPORT Instructor class DATABASELMS_EXPORT Instructor: public User
{ {
public: public:
Instructor(); Instructor();
void setID(int instructor_id){this->instructor_id = instructor_id;}
int getID(){return instructor_id;}
void setName(QString name){this->name = name;}
QString getName(){return name;}
void setLogin(QString login){this->login = login;}
QString getLogin(){return login;}
void setPassword(QString password){this->password = password;}
QString getPassword(){return password;}
void setIsAdmin(bool isAdmin){this->isAdmin = isAdmin;} void setIsAdmin(bool isAdmin){this->isAdmin = isAdmin;}
bool getIsAdmin(){return isAdmin;} bool getIsAdmin(){return isAdmin;}
void setArchived(bool archived){this->archived = archived;}
bool getArchived(){return archived;}
void setLoggedIn(bool loggedIn){this->loggedIn = loggedIn;}
bool getLoggedIn(){return loggedIn;}
private: private:
int instructor_id;
QString name;
QString login;
QString password;
bool isAdmin; bool isAdmin;
bool archived;
bool loggedIn;
}; };
#endif // INSTRUCTOR_H #endif // INSTRUCTOR_H

View File

@@ -0,0 +1,7 @@
#include "task.h"
Task::Task():
BasicEntity()
{
}

12
DB_LMS/DataBaseLMS/task.h Normal file
View File

@@ -0,0 +1,12 @@
#ifndef TASK_H
#define TASK_H
#include "basicentity.h"
class DATABASELMS_EXPORT Task: public BasicEntity
{
public:
Task();
};
#endif // TASK_H

View File

@@ -1,14 +1,8 @@
#include "trainee.h" #include "trainee.h"
Trainee::Trainee(): Trainee::Trainee():
trainee_id(), User(),
name(),
login(),
password(),
archived(false),
loggedIn(false),
group(), group(),
learnClass(),
computer(), computer(),
tasks() tasks()
{ {

View File

@@ -1,62 +1,31 @@
#ifndef TRAINEE_H #ifndef TRAINEE_H
#define TRAINEE_H #define TRAINEE_H
#include <QString>
#include <QList> #include <QList>
#include "DataBaseLMS_global.h"
class DATABASELMS_EXPORT Trainee #include "user.h"
#include "group.h"
#include "computer.h"
#include "task.h"
class DATABASELMS_EXPORT Trainee: public User
{ {
public: public:
Trainee(); Trainee();
void setID(int trainee_id){this->trainee_id = trainee_id;} void setGroup(Group group){this->group = group;}
int getID(){return trainee_id;} Group getGroup(){return group;}
void setName(QString name){this->name = name;} void setComputer(Computer computer){this->computer = computer;}
QString getName(){return name;} Computer getComputer(){return computer;}
void setLogin(QString login){this->login = login;} void setTasks(QList<Task> tasks){this->tasks = tasks;}
QString getLogin(){return login;} QList<Task> getTasks(){return tasks;}
void setPassword(QString password){this->password = password;}
QString getPassword(){return password;}
void setLearnClass(QString learnClass){this->learnClass = learnClass;}
QString getLearnClass(){return learnClass;}
void setComputer(QString computer){this->computer = computer;}
QString getComputer(){return computer;}
void setIpAddress(QString ipAddress){this->ipAddress = ipAddress;}
QString getIpAddress(){return ipAddress;}
void setGroup(QString group){this->group = group;}
QString getGroup(){return group;}
void setArchived(bool archived){this->archived = archived;}
bool getArchived(){return archived;}
void setLoggedIn(bool loggedIn){this->loggedIn = loggedIn;}
bool getLoggedIn(){return loggedIn;}
void setTasks(QStringList tasks){this->tasks = tasks;}
QStringList getTasks(){return tasks;}
private: private:
int trainee_id; Group group;
QString name; Computer computer;
QString login; QList<Task> tasks;
QString password;
bool archived;
bool loggedIn;
QString group;
QString learnClass;
QString computer;
QString ipAddress;
QStringList tasks;
}; };
#endif // TRAINEE_H #endif // TRAINEE_H

View File

@@ -0,0 +1,11 @@
#include "user.h"
User::User():
BasicEntity(),
login(),
password(),
archived(),
loggedIn()
{
}

30
DB_LMS/DataBaseLMS/user.h Normal file
View File

@@ -0,0 +1,30 @@
#ifndef USER_H
#define USER_H
#include "basicentity.h"
class User: public BasicEntity
{
public:
User();
void setLogin(QString login){this->login = login;}
QString getLogin(){return login;}
void setPassword(QString password){this->password = password;}
QString getPassword(){return password;}
void setArchived(bool archived){this->archived = archived;}
bool getArchived(){return archived;}
void setLoggedIn(bool loggedIn){this->loggedIn = loggedIn;}
bool getLoggedIn(){return loggedIn;}
private:
QString login;
QString password;
bool archived;
bool loggedIn;
};
#endif // USER_H

View File

@@ -41,7 +41,7 @@
{ {
"directoryIndex" : 0, "directoryIndex" : 0,
"id" : "DataBaseLMS::@6890427a1f51a3e7e1df", "id" : "DataBaseLMS::@6890427a1f51a3e7e1df",
"jsonFile" : "target-DataBaseLMS-Debug-f19a45066cbe09f09fa9.json", "jsonFile" : "target-DataBaseLMS-Debug-788469329fca20560302.json",
"name" : "DataBaseLMS", "name" : "DataBaseLMS",
"projectIndex" : 0 "projectIndex" : 0
}, },

View File

@@ -26,7 +26,7 @@
"objects" : "objects" :
[ [
{ {
"jsonFile" : "codemodel-v2-b5e2e1612891df038973.json", "jsonFile" : "codemodel-v2-75aa5940d6c94493455f.json",
"kind" : "codemodel", "kind" : "codemodel",
"version" : "version" :
{ {
@@ -77,7 +77,7 @@
}, },
"codemodel-v2" : "codemodel-v2" :
{ {
"jsonFile" : "codemodel-v2-b5e2e1612891df038973.json", "jsonFile" : "codemodel-v2-75aa5940d6c94493455f.json",
"kind" : "codemodel", "kind" : "codemodel",
"version" : "version" :
{ {

View File

@@ -43,13 +43,13 @@
{ {
"command" : 1, "command" : 1,
"file" : 0, "file" : 0,
"line" : 27, "line" : 37,
"parent" : 0 "parent" : 0
}, },
{ {
"command" : 1, "command" : 1,
"file" : 0, "file" : 0,
"line" : 28, "line" : 38,
"parent" : 0 "parent" : 0
}, },
{ {
@@ -87,7 +87,7 @@
{ {
"command" : 5, "command" : 5,
"file" : 0, "file" : 0,
"line" : 30, "line" : 40,
"parent" : 0 "parent" : 0
} }
] ]
@@ -189,8 +189,13 @@
0, 0,
2, 2,
4, 4,
7, 6,
8 8,
10,
12,
14,
16,
18
] ]
} }
], ],
@@ -253,8 +258,13 @@
0, 0,
2, 2,
4, 4,
7, 6,
8 8,
10,
12,
14,
16,
18
] ]
}, },
{ {
@@ -264,8 +274,13 @@
1, 1,
3, 3,
5, 5,
6, 7,
9 9,
11,
13,
15,
17,
19
] ]
} }
], ],
@@ -294,6 +309,28 @@
"path" : "databaselms.h", "path" : "databaselms.h",
"sourceGroupIndex" : 1 "sourceGroupIndex" : 1
}, },
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "basicentity.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "basicentity.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "user.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "user.h",
"sourceGroupIndex" : 1
},
{ {
"backtrace" : 1, "backtrace" : 1,
"compileGroupIndex" : 0, "compileGroupIndex" : 0,
@@ -305,17 +342,17 @@
"path" : "instructor.h", "path" : "instructor.h",
"sourceGroupIndex" : 1 "sourceGroupIndex" : 1
}, },
{
"backtrace" : 1,
"path" : "trainee.h",
"sourceGroupIndex" : 1
},
{ {
"backtrace" : 1, "backtrace" : 1,
"compileGroupIndex" : 0, "compileGroupIndex" : 0,
"path" : "trainee.cpp", "path" : "trainee.cpp",
"sourceGroupIndex" : 0 "sourceGroupIndex" : 0
}, },
{
"backtrace" : 1,
"path" : "trainee.h",
"sourceGroupIndex" : 1
},
{ {
"backtrace" : 1, "backtrace" : 1,
"compileGroupIndex" : 0, "compileGroupIndex" : 0,
@@ -326,6 +363,39 @@
"backtrace" : 1, "backtrace" : 1,
"path" : "group.h", "path" : "group.h",
"sourceGroupIndex" : 1 "sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "computer.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "computer.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "task.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "task.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "classroom.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"path" : "classroom.h",
"sourceGroupIndex" : 1
} }
], ],
"type" : "SHARED_LIBRARY" "type" : "SHARED_LIBRARY"

Binary file not shown.

View File

@@ -1,40 +1,81 @@
# ninja log v5 # ninja log v5
47 55 0 clean 9c4b4372737ab8da 11 35 0 CMakeFiles/clean.additional 7155004b3956b606
1951 2080 7522348242331840 libDataBaseLMS.dll.a ff7ea32bf6d01e45 2059 2218 7525088392927135 libDataBaseLMS.dll 3b716bd5e0562557
1951 2080 7522348242331840 libDataBaseLMS.dll ff7ea32bf6d01e45 2059 2218 7525088392927135 libDataBaseLMS.dll.a 3b716bd5e0562557
22 47 0 CMakeFiles/clean.additional 7155004b3956b606 35 42 0 clean 9c4b4372737ab8da
104 671 7521537134517871 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77 95 1643 7524982876371819 CMakeFiles/DataBaseLMS.dir/computer.cpp.obj 5930684a0b27a14f
99 560 7521537133402973 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198 14 49 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
53 590 7522403839711265 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f 83 1635 7524982876272093 CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj 99b734c728959a94
50 1951 7522348241036252 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 88 1636 7524982876292025 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
94 551 7521537133322796 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd 97 1633 7524982876272093 CMakeFiles/DataBaseLMS.dir/task.cpp.obj b003a0cb68c6b2bb
15 50 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 92 1636 7524982876292025 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
15 50 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 156 788 7524397271272665 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
15 50 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 50 2059 7525088391343479 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
90 1752 7524982877478794 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
100 1640 7524982876341892 CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj e9b501dc7cb3286a
14 49 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
14 49 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
85 1635 7524982876282051 CMakeFiles/DataBaseLMS.dir/user.cpp.obj 4ee7a17d2a43f188
14 49 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
16 53 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
16 53 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
16 53 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
16 53 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
53 2060 7525091330946435 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2060 2220 7525091332543436 libDataBaseLMS.dll 3b716bd5e0562557
2060 2220 7525091332543436 libDataBaseLMS.dll.a 3b716bd5e0562557
15 51 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 51 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 51 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 51 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
51 2037 7525100271403312 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2037 2197 7525100272988261 libDataBaseLMS.dll 3b716bd5e0562557
2037 2197 7525100272988261 libDataBaseLMS.dll.a 3b716bd5e0562557
15 49 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 49 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 49 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 49 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
10 42 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
10 42 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
10 42 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
10 42 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
43 1971 7525212838352129 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
1971 2129 7525212839934527 libDataBaseLMS.dll 3b716bd5e0562557
1971 2129 7525212839934527 libDataBaseLMS.dll.a 3b716bd5e0562557
15 50 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 15 50 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 15 50 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 48 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 15 50 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 15 50 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 50 1981 7525216791870122 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
48 1982 7522404428246470 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 1981 2140 7525216793455149 libDataBaseLMS.dll 3b716bd5e0562557
1982 2122 7522404429643912 libDataBaseLMS.dll ff7ea32bf6d01e45 1981 2140 7525216793455149 libDataBaseLMS.dll.a 3b716bd5e0562557
1982 2122 7522404429643912 libDataBaseLMS.dll.a ff7ea32bf6d01e45 14 48 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
14 51 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 14 48 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
14 51 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 14 48 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
14 51 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 14 48 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
14 51 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 25 67 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
55 602 7522435661437638 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f 25 67 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
52 2052 7522435675931417 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 25 67 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
2052 2186 7522435677257822 libDataBaseLMS.dll ff7ea32bf6d01e45 25 67 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
2052 2186 7522435677257822 libDataBaseLMS.dll.a ff7ea32bf6d01e45 24 74 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 47 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 24 74 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 47 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 24 74 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 47 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 24 74 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 47 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 7 31 0 CMakeFiles/clean.additional 7155004b3956b606
48 1966 7522449510503097 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 31 38 0 clean 9c4b4372737ab8da
1966 2101 7522449511856355 libDataBaseLMS.dll ff7ea32bf6d01e45 11 90 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
1966 2101 7522449511856355 libDataBaseLMS.dll.a ff7ea32bf6d01e45 11 90 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 48 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 11 90 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 11 90 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 90 131 7525981640473406 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
15 48 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 113 607 7525981645223557 CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj e9b501dc7cb3286a
105 653 7525981645685710 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
95 655 7525981645705675 CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj 99b734c728959a94
97 657 7525981645725604 CMakeFiles/DataBaseLMS.dir/user.cpp.obj 4ee7a17d2a43f188
110 683 7525981645966249 CMakeFiles/DataBaseLMS.dir/task.cpp.obj b003a0cb68c6b2bb
108 693 7525981646098521 CMakeFiles/DataBaseLMS.dir/computer.cpp.obj 5930684a0b27a14f
100 738 7525981646532033 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
102 767 7525981646832047 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
93 2171 7525981660831212 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2171 2342 7525981662561308 libDataBaseLMS.dll 3b716bd5e0562557
2171 2342 7525981662561308 libDataBaseLMS.dll.a 3b716bd5e0562557

Binary file not shown.

Binary file not shown.

View File

@@ -87,6 +87,24 @@
"EWIEGA46WW/moc_DataBaseLMS_global.cpp", "EWIEGA46WW/moc_DataBaseLMS_global.cpp",
null null
], ],
[
"D:/LMS/DB_LMS/DataBaseLMS/basicentity.h",
"MU",
"EWIEGA46WW/moc_basicentity.cpp",
null
],
[
"D:/LMS/DB_LMS/DataBaseLMS/classroom.h",
"MU",
"EWIEGA46WW/moc_classroom.cpp",
null
],
[
"D:/LMS/DB_LMS/DataBaseLMS/computer.h",
"MU",
"EWIEGA46WW/moc_computer.cpp",
null
],
[ [
"D:/LMS/DB_LMS/DataBaseLMS/databaselms.h", "D:/LMS/DB_LMS/DataBaseLMS/databaselms.h",
"MU", "MU",
@@ -105,11 +123,23 @@
"EWIEGA46WW/moc_instructor.cpp", "EWIEGA46WW/moc_instructor.cpp",
null null
], ],
[
"D:/LMS/DB_LMS/DataBaseLMS/task.h",
"MU",
"EWIEGA46WW/moc_task.cpp",
null
],
[ [
"D:/LMS/DB_LMS/DataBaseLMS/trainee.h", "D:/LMS/DB_LMS/DataBaseLMS/trainee.h",
"MU", "MU",
"EWIEGA46WW/moc_trainee.cpp", "EWIEGA46WW/moc_trainee.cpp",
null null
],
[
"D:/LMS/DB_LMS/DataBaseLMS/user.h",
"MU",
"EWIEGA46WW/moc_user.cpp",
null
] ]
], ],
"HEADER_EXTENSIONS" : [ "h", "hh", "h++", "hm", "hpp", "hxx", "in", "txx" ], "HEADER_EXTENSIONS" : [ "h", "hh", "h++", "hm", "hpp", "hxx", "in", "txx" ],
@@ -174,10 +204,15 @@
"SETTINGS_FILE" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen.dir/AutogenUsed.txt", "SETTINGS_FILE" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen.dir/AutogenUsed.txt",
"SOURCES" : "SOURCES" :
[ [
[ "D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/computer.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp", "MU", null ], [ "D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/group.cpp", "MU", null ], [ "D:/LMS/DB_LMS/DataBaseLMS/group.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp", "MU", null ], [ "D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp", "MU", null ] [ "D:/LMS/DB_LMS/DataBaseLMS/task.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp", "MU", null ],
[ "D:/LMS/DB_LMS/DataBaseLMS/user.cpp", "MU", null ]
], ],
"UIC_OPTIONS" : [], "UIC_OPTIONS" : [],
"UIC_SEARCH_PATHS" : [], "UIC_SEARCH_PATHS" : [],

View File

@@ -1,10 +1,20 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_LMS/DataBaseLMS/user.cpp
D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp
D:/LMS/DB_LMS/DataBaseLMS/task.cpp
D:/LMS/DB_LMS/DataBaseLMS/group.cpp
D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h
D:/LMS/DB_LMS/DataBaseLMS/user.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.h
D:/LMS/DB_LMS/DataBaseLMS/basicentity.h
D:/LMS/DB_LMS/DataBaseLMS/computer.cpp
D:/LMS/DB_LMS/DataBaseLMS/computer.h
D:/LMS/DB_LMS/DataBaseLMS/databaselms.h D:/LMS/DB_LMS/DataBaseLMS/databaselms.h
D:/LMS/DB_LMS/DataBaseLMS/group.h D:/LMS/DB_LMS/DataBaseLMS/group.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.h D:/LMS/DB_LMS/DataBaseLMS/instructor.h
D:/LMS/DB_LMS/DataBaseLMS/trainee.h D:/LMS/DB_LMS/DataBaseLMS/trainee.h
D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp
D:/LMS/DB_LMS/DataBaseLMS/group.cpp D:/LMS/DB_LMS/DataBaseLMS/task.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp
D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp

View File

@@ -123,6 +123,24 @@
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h"> <Unit filename="D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h">
<Option target="DataBaseLMS"/> <Option target="DataBaseLMS"/>
</Unit> </Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/basicentity.h">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/classroom.h">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/computer.cpp">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/computer.h">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp"> <Unit filename="D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp">
<Option target="DataBaseLMS"/> <Option target="DataBaseLMS"/>
</Unit> </Unit>
@@ -141,12 +159,24 @@
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/instructor.h"> <Unit filename="D:/LMS/DB_LMS/DataBaseLMS/instructor.h">
<Option target="DataBaseLMS"/> <Option target="DataBaseLMS"/>
</Unit> </Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/task.cpp">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/task.h">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp"> <Unit filename="D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp">
<Option target="DataBaseLMS"/> <Option target="DataBaseLMS"/>
</Unit> </Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/trainee.h"> <Unit filename="D:/LMS/DB_LMS/DataBaseLMS/trainee.h">
<Option target="DataBaseLMS"/> <Option target="DataBaseLMS"/>
</Unit> </Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/user.cpp">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/user.h">
<Option target="DataBaseLMS"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp"> <Unit filename="D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp">
<Option target="DataBaseLMS"/> <Option target="DataBaseLMS"/>
</Unit> </Unit>

View File

@@ -65,6 +65,22 @@ build CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj: CXX_COMPILER__DataBaseLMS_
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
build CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp || cmake_object_order_depends_target_DataBaseLMS
DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB
DEP_FILE = CMakeFiles\DataBaseLMS.dir\basicentity.cpp.obj.d
FLAGS = -g -std=gnu++11
INCLUDES = -ID:/LMS/DB_LMS/Debug64 -ID:/LMS/DB_LMS/DataBaseLMS -ID:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtANGLE -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/./mkspecs/win32-g++ -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtSql
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
build CMakeFiles/DataBaseLMS.dir/user.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/user.cpp || cmake_object_order_depends_target_DataBaseLMS
DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB
DEP_FILE = CMakeFiles\DataBaseLMS.dir\user.cpp.obj.d
FLAGS = -g -std=gnu++11
INCLUDES = -ID:/LMS/DB_LMS/Debug64 -ID:/LMS/DB_LMS/DataBaseLMS -ID:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtANGLE -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/./mkspecs/win32-g++ -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtSql
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
build CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/instructor.cpp || cmake_object_order_depends_target_DataBaseLMS build CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/instructor.cpp || cmake_object_order_depends_target_DataBaseLMS
DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB
DEP_FILE = CMakeFiles\DataBaseLMS.dir\instructor.cpp.obj.d DEP_FILE = CMakeFiles\DataBaseLMS.dir\instructor.cpp.obj.d
@@ -89,6 +105,30 @@ build CMakeFiles/DataBaseLMS.dir/group.cpp.obj: CXX_COMPILER__DataBaseLMS_unscan
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
build CMakeFiles/DataBaseLMS.dir/computer.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/computer.cpp || cmake_object_order_depends_target_DataBaseLMS
DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB
DEP_FILE = CMakeFiles\DataBaseLMS.dir\computer.cpp.obj.d
FLAGS = -g -std=gnu++11
INCLUDES = -ID:/LMS/DB_LMS/Debug64 -ID:/LMS/DB_LMS/DataBaseLMS -ID:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtANGLE -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/./mkspecs/win32-g++ -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtSql
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
build CMakeFiles/DataBaseLMS.dir/task.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/task.cpp || cmake_object_order_depends_target_DataBaseLMS
DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB
DEP_FILE = CMakeFiles\DataBaseLMS.dir\task.cpp.obj.d
FLAGS = -g -std=gnu++11
INCLUDES = -ID:/LMS/DB_LMS/Debug64 -ID:/LMS/DB_LMS/DataBaseLMS -ID:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtANGLE -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/./mkspecs/win32-g++ -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtSql
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
build CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/classroom.cpp || cmake_object_order_depends_target_DataBaseLMS
DEFINES = -DDATABASELMS_LIBRARY -DDataBaseLMS_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_WIDGETS_LIB
DEP_FILE = CMakeFiles\DataBaseLMS.dir\classroom.cpp.obj.d
FLAGS = -g -std=gnu++11
INCLUDES = -ID:/LMS/DB_LMS/Debug64 -ID:/LMS/DB_LMS/DataBaseLMS -ID:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtANGLE -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/./mkspecs/win32-g++ -isystem C:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtSql
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
# ============================================================================= # =============================================================================
# Link build statements for SHARED_LIBRARY target DataBaseLMS # Link build statements for SHARED_LIBRARY target DataBaseLMS
@@ -97,7 +137,7 @@ build CMakeFiles/DataBaseLMS.dir/group.cpp.obj: CXX_COMPILER__DataBaseLMS_unscan
############################################# #############################################
# Link the shared library libDataBaseLMS.dll # Link the shared library libDataBaseLMS.dll
build libDataBaseLMS.dll libDataBaseLMS.dll.a: CXX_SHARED_LIBRARY_LINKER__DataBaseLMS_Debug CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj CMakeFiles/DataBaseLMS.dir/group.cpp.obj | C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Widgets.a C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Sql.a C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Gui.a C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Core.a || DataBaseLMS_autogen build libDataBaseLMS.dll libDataBaseLMS.dll.a: CXX_SHARED_LIBRARY_LINKER__DataBaseLMS_Debug CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj CMakeFiles/DataBaseLMS.dir/user.cpp.obj CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj CMakeFiles/DataBaseLMS.dir/group.cpp.obj CMakeFiles/DataBaseLMS.dir/computer.cpp.obj CMakeFiles/DataBaseLMS.dir/task.cpp.obj CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj | C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Widgets.a C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Sql.a C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Gui.a C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Core.a || DataBaseLMS_autogen
LANGUAGE_COMPILE_FLAGS = -g LANGUAGE_COMPILE_FLAGS = -g
LINK_LIBRARIES = C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Widgets.a C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Sql.a C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Gui.a C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Core.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 LINK_LIBRARIES = C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Widgets.a C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Sql.a C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Gui.a C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/libQt5Core.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir OBJECT_DIR = CMakeFiles\DataBaseLMS.dir

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,28 +1,81 @@
# ninja log v5 # ninja log v5
11 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 10 396 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
48 1206 7522450037737204 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1 477 526 7525774738633531 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a
390 445 7521537275150898 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766 10 396 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
20 45 0 CMakeFiles/clean.additional 7155004b3956b606 473 1597 7525774749339959 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
1206 1337 7522450039022557 testDBpgSQL.exe 481e73a84a688916 475 1610 7525774749469616 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
45 52 0 clean 9c4b4372737ab8da 10 396 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
43 1159 7522450037263284 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0 8 35 0 CMakeFiles/clean.additional 7155004b3956b606
11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 396 470 7525774738048804 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
11 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 1611 1743 7525774750773210 testDBpgSQL.exe 481e73a84a688916
11 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 35 42 0 clean 9c4b4372737ab8da
390 445 7521537275150898 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766 10 396 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 470 1599 7525774749359905 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
452 502 7521537275743574 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a 10 396 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 10 396 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
45 1201 7522450037666470 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2 396 470 7525774738048804 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
15 45 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 19 59 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 45 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 19 59 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 45 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 19 59 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
15 45 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 19 59 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 45 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 19 59 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 45 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 19 59 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
12 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 59 1177 7525805030940500 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
12 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 62 1191 7525805031071769 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
12 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 64 1237 7525805031533450 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
12 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 1237 1375 7525805032905306 testDBpgSQL.exe 481e73a84a688916
12 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 14 46 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
12 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 14 46 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
14 46 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
14 46 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
14 46 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
14 46 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
46 1159 7525888685224963 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
49 1179 7525888685416587 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
51 1206 7525888685692023 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
1206 1337 7525888686991561 testDBpgSQL.exe 481e73a84a688916
11 35 0 CMakeFiles/clean.additional 7155004b3956b606
36 42 0 clean 9c4b4372737ab8da
11 385 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 385 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 385 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 385 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 385 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 385 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
385 438 7525981909076938 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
385 438 7525981909076938 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
446 495 7525981909669873 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a
438 1559 7525981920308333 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
441 1568 7525981920388693 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
443 1600 7525981920671129 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
1600 1730 7525981922004409 testDBpgSQL.exe 481e73a84a688916
15 52 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 52 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 52 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
15 52 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 52 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 52 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
12 42 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
12 42 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
12 42 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
12 42 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
12 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
12 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
12 42 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
12 42 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
12 42 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
12 42 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
12 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
12 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 42 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 42 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 42 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 42 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 41 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 41 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 41 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 41 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 41 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 41 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. --> <!-- Written by QtCreator 4.11.1, 2024-11-06T16:05:43. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>