PSQL 02.11.2024

This commit is contained in:
krivoshein
2024-11-02 13:43:57 +03:00
parent 9422c5e257
commit 0f1fa71c33
76 changed files with 576 additions and 493 deletions

Binary file not shown.

View File

@@ -1,99 +1,99 @@
# ninja log v5 # ninja log v5
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
846 3294 7521082273829837 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f 377 1845 7521882090383278 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7
18 61 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/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 57 1647 7522449583762190 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 74 1925 7522449586580602 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
854 3261 7521082273487776 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173 32 42 0 clean 9c4b4372737ab8da
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 393 1902 7521882090955221 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f
856 3025 7521082271113044 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7 16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 1002 3232 7521664817765595 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f
18 61 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 16 52 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
852 2952 7521082270265420 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f 16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 16 52 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
18 61 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
18 61 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 65 1747 7522449584792147 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
880 2808 7521082268873272 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5 1012 2854 7521664813846902 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301
904 1164 7521082252426886 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf 13 253 7521784982976196 build.ninja 76aa11f472515be0
55 1879 7522449586124230 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
71 1413 7522449581447380 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5
16 52 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
77 1659 7522449583926194 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
949 996 7521664795567220 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
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
888 3276 7521082273638457 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f 1052 1295 7521664798479005 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf
35 44 0 clean 9c4b4372737ab8da 16 52 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 1951 2311 7522449590411375 libInstructorsAndTrainees.dll d721655f2d9255b7
900 3303 7521082273910570 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e 16 52 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 81 1679 7522449584107678 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
78 129 7520881039787393 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c 16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
859 2961 7521082270449091 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182 16 52 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
1193 1552 7521105436065188 libInstructorsAndTrainees.dll.a d721655f2d9255b7 1040 3227 7521664817775571 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7
18 61 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 18 49 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 61 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
867 2615 7521082266604887 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17 18 49 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
1193 1552 7521105436065188 libInstructorsAndTrainees.dll d721655f2d9255b7 18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
62 1193 7521105432500496 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b 18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 18 49 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
892 2942 7521082270223781 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7 18 49 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 61 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
897 3091 7521082271772592 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 61 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
849 3503 7521082275923951 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
873 3127 7521082272135107 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
13 253 7521475903295093 build.ninja 76aa11f472515be0 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
863 2017 7521082260897588 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
12 35 0 CMakeFiles/clean.additional 7155004b3956b606 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
870 3060 7521082271470041 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
884 3473 7521082275618934 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
78 129 7520881039787393 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c 18 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
13 41 0 CMakeFiles/clean.additional 7155004b3956b606 13 45 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
41 50 0 clean 9c4b4372737ab8da 13 45 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
12 947 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 13 45 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
12 947 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 13 45 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
12 947 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_dialogeditinstructor.h 325fc9931da2ad77
12 947 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_dialogauthorizationinstructor.h 325fc9931da2ad77
12 947 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/tasks/ui_taskswidget.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
12 947 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
948 999 7521537199541277 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
948 999 7521537199541277 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
1056 1272 7521537202242020 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf
1015 2251 7521537211520951 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301
1018 2883 7521537218154408 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17
1032 3080 7521537220160053 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5
1009 3081 7521537220219889 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7
1004 3083 7521537220339572 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f
1012 3129 7521537220829192 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182
1043 3155 7521537221090266 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7
1025 3258 7521537222125613 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
1047 3308 7521537222621574 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
1007 3454 7521537224065584 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
999 3498 7521537224525187 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
1002 3546 7521537224999110 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
1040 3563 7521537225180629 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f
1029 3578 7521537225342134 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
1022 3597 7521537225522789 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
1052 3611 7521537225653525 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
1036 3617 7521537225723869 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
3617 4000 7521537229536040 libInstructorsAndTrainees.dll d721655f2d9255b7
3617 4000 7521537229536040 libInstructorsAndTrainees.dll.a d721655f2d9255b7

View File

@@ -1,38 +1,45 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
uic:ui_viewertrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
uic:ui_editortrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
mmc:Q_OBJECT mmc:Q_OBJECT
uic:ui_dialogeditgroup.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.h
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/instructorsAndTrainees_global.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
mmc:Q_OBJECT 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/commonview.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
uic:ui_instructorsandtraineeswidget.h uic:ui_instructorsandtraineeswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h 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/trainees/dialogeditgroup.h
mmc:Q_OBJECT mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h uic:ui_dialogeditgroup.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
uic:ui_editortrainees.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
@@ -42,20 +49,13 @@ 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/commonview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.h uic:ui_viewertrainees.h
mmc:Q_OBJECT D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_dialogeditinstructor.h uic:ui_viewerinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp
uic:ui_dialogedittrainee.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
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/instructors/instructorsview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewerinstructors.h

View File

@@ -39,6 +39,9 @@ public:
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
groupBox = new QGroupBox(InstructorsAndTraineesWidget); groupBox = new QGroupBox(InstructorsAndTraineesWidget);
groupBox->setObjectName(QString::fromUtf8("groupBox")); groupBox->setObjectName(QString::fromUtf8("groupBox"));
QFont font;
font.setPointSize(10);
groupBox->setFont(font);
gridLayout_2 = new QGridLayout(groupBox); gridLayout_2 = new QGridLayout(groupBox);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
verticalLayout = new QVBoxLayout(); verticalLayout = new QVBoxLayout();

View File

@@ -51,6 +51,9 @@ public:
horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1")); horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1"));
groupBox = new QGroupBox(ViewerInstructors); groupBox = new QGroupBox(ViewerInstructors);
groupBox->setObjectName(QString::fromUtf8("groupBox")); groupBox->setObjectName(QString::fromUtf8("groupBox"));
QFont font1;
font1.setPointSize(10);
groupBox->setFont(font1);
gridLayout_2 = new QGridLayout(groupBox); gridLayout_2 = new QGridLayout(groupBox);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
horizontalLayout_2 = new QHBoxLayout(); horizontalLayout_2 = new QHBoxLayout();
@@ -80,10 +83,10 @@ public:
__qtreewidgetitem->setText(0, QString::fromUtf8("1")); __qtreewidgetitem->setText(0, QString::fromUtf8("1"));
treeWidget->setHeaderItem(__qtreewidgetitem); treeWidget->setHeaderItem(__qtreewidgetitem);
treeWidget->setObjectName(QString::fromUtf8("treeWidget")); treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
QFont font1; QFont font2;
font1.setFamily(QString::fromUtf8("Tahoma")); font2.setFamily(QString::fromUtf8("Tahoma"));
font1.setPointSize(10); font2.setPointSize(10);
treeWidget->setFont(font1); treeWidget->setFont(font2);
treeWidget->setIconSize(QSize(20, 20)); treeWidget->setIconSize(QSize(20, 20));
horizontalLayout_2->addWidget(treeWidget); horizontalLayout_2->addWidget(treeWidget);

View File

@@ -51,6 +51,9 @@ public:
horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1")); horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1"));
groupBox = new QGroupBox(ViewerTrainees); groupBox = new QGroupBox(ViewerTrainees);
groupBox->setObjectName(QString::fromUtf8("groupBox")); groupBox->setObjectName(QString::fromUtf8("groupBox"));
QFont font1;
font1.setPointSize(10);
groupBox->setFont(font1);
gridLayout_2 = new QGridLayout(groupBox); gridLayout_2 = new QGridLayout(groupBox);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
horizontalLayout_2 = new QHBoxLayout(); horizontalLayout_2 = new QHBoxLayout();
@@ -80,10 +83,10 @@ public:
__qtreewidgetitem->setText(0, QString::fromUtf8("1")); __qtreewidgetitem->setText(0, QString::fromUtf8("1"));
treeWidget->setHeaderItem(__qtreewidgetitem); treeWidget->setHeaderItem(__qtreewidgetitem);
treeWidget->setObjectName(QString::fromUtf8("treeWidget")); treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
QFont font1; QFont font2;
font1.setFamily(QString::fromUtf8("Tahoma")); font2.setFamily(QString::fromUtf8("Tahoma"));
font1.setPointSize(10); font2.setPointSize(10);
treeWidget->setFont(font1); treeWidget->setFont(font2);
treeWidget->setIconSize(QSize(20, 20)); treeWidget->setIconSize(QSize(20, 20));
treeWidget->setColumnCount(1); treeWidget->setColumnCount(1);

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-01T11:44:20. --> <!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -33,9 +33,19 @@ bool DataBaseInstructors::AuthorizationInstructor(QString login, QString passwor
if(listOfInstructors[i].getLogin() == login && listOfInstructors[i].getPassword() == password) if(listOfInstructors[i].getLogin() == login && listOfInstructors[i].getPassword() == password)
{ {
listOfInstructors[i].setLoggedIn(true); Instructor instructor = listOfInstructors[i];
instructor.setLoggedIn(true);
bool result = dbLMS->updateInstructor(instructor);
if(result)
{
LoadInstructorsPSQL();
return true; return true;
} }
else
return false;
}
} }
return false; return false;
} }
@@ -45,14 +55,24 @@ bool DataBaseInstructors::deAuthorizationInstructor(QString login)
//Инструкторы //Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++) for(int i = 0; i < listOfInstructors.count(); i++)
{ {
//if(listOfInstructors[i].getArchived()) if(listOfInstructors[i].getArchived())
//continue; continue;
if(listOfInstructors[i].getLogin() == login) if(listOfInstructors[i].getLogin() == login)
{ {
listOfInstructors[i].setLoggedIn(false); Instructor instructor = listOfInstructors[i];
instructor.setLoggedIn(false);
bool result = dbLMS->updateInstructor(instructor);
if(result)
{
LoadInstructorsPSQL();
return true; return true;
} }
else
return false;
}
} }
return false; return false;
} }
@@ -131,46 +151,6 @@ void DataBaseInstructors::deleteInstructor(QString name)
} }
} }
void DataBaseInstructors::toArchiveInstructor(QString name)
{
//Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++)
{
if(listOfInstructors[i].getName() == name)
if(! listOfInstructors[i].getArchived())
{
Instructor instructor = listOfInstructors[i];
instructor.setArchived(true);
bool result = dbLMS->updateInstructor(instructor);
if(result)
LoadInstructorsPSQL();
//listOfInstructors[i].setArchived(true);
}
}
}
void DataBaseInstructors::fromeArchiveInstructor(QString name)
{
//Инструкторы
for(int i = 0; i < listOfInstructors.count(); i++)
{
if(listOfInstructors[i].getName() == name)
if(listOfInstructors[i].getArchived())
{
Instructor instructor = listOfInstructors[i];
instructor.setArchived(false);
bool result = dbLMS->updateInstructor(instructor);
if(result)
LoadInstructorsPSQL();
//listOfInstructors[i].setArchived(false);
}
}
}
bool DataBaseInstructors::editInstructor(QString name, Instructor instructor) bool DataBaseInstructors::editInstructor(QString name, Instructor instructor)
{ {
//Инструкторы //Инструкторы
@@ -181,7 +161,7 @@ bool DataBaseInstructors::editInstructor(QString name, Instructor instructor)
if( (!checkExistNameInstructor(instructor.getName()) || instructor.getName() == name) && if( (!checkExistNameInstructor(instructor.getName()) || instructor.getName() == name) &&
(!checkExistLoginInstructor(instructor.getLogin()) || instructor.getLogin() == listOfInstructors[i].getLogin()) ) (!checkExistLoginInstructor(instructor.getLogin()) || instructor.getLogin() == listOfInstructors[i].getLogin()) )
{ {
instructor.setID(listOfInstructors[i].getID()); //instructor.setID(listOfInstructors[i].getID());
bool result = dbLMS->updateInstructor(instructor); bool result = dbLMS->updateInstructor(instructor);

View File

@@ -32,8 +32,6 @@ public:
QString newInstructor(); QString newInstructor();
void deleteInstructor(QString name); void deleteInstructor(QString name);
void toArchiveInstructor(QString name);
void fromeArchiveInstructor(QString name);
bool editInstructor(QString name, Instructor instructor); bool editInstructor(QString name, Instructor instructor);
bool isAdmin(QString name); bool isAdmin(QString name);

View File

@@ -3,7 +3,8 @@
DialogEditInstructor::DialogEditInstructor(QWidget *parent) : DialogEditInstructor::DialogEditInstructor(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::DialogEditInstructor) ui(new Ui::DialogEditInstructor),
instructorInput()
{ {
ui->setupUi(this); ui->setupUi(this);
} }
@@ -15,9 +16,12 @@ DialogEditInstructor::~DialogEditInstructor()
void DialogEditInstructor::setInstructor(Instructor instructor) void DialogEditInstructor::setInstructor(Instructor instructor)
{ {
instructorInput = instructor;
ui->editName ->setText(instructor.getName()); ui->editName ->setText(instructor.getName());
ui->editLogin->setText(instructor.getLogin()); ui->editLogin->setText(instructor.getLogin());
ui->editPassword->setText(instructor.getPassword()); ui->editPassword->setText(instructor.getPassword());
ui->checkIsAdmin->setChecked(instructor.getIsAdmin()); ui->checkIsAdmin->setChecked(instructor.getIsAdmin());
ui->checkArchived->setChecked(instructor.getArchived()); ui->checkArchived->setChecked(instructor.getArchived());
ui->checkLoggedIn->setChecked(instructor.getLoggedIn()); ui->checkLoggedIn->setChecked(instructor.getLoggedIn());
@@ -30,10 +34,12 @@ void DialogEditInstructor::setInstructor(Instructor instructor)
Instructor DialogEditInstructor::getInstructor() Instructor DialogEditInstructor::getInstructor()
{ {
Instructor instructor; Instructor instructor = instructorInput;
instructor.setName(ui->editName->text()); instructor.setName(ui->editName->text());
instructor.setLogin(ui->editLogin->text()); instructor.setLogin(ui->editLogin->text());
instructor.setPassword(ui->editPassword->text()); instructor.setPassword(ui->editPassword->text());
instructor.setIsAdmin(ui->checkIsAdmin->isChecked()); instructor.setIsAdmin(ui->checkIsAdmin->isChecked());
instructor.setArchived(ui->checkArchived->isChecked()); instructor.setArchived(ui->checkArchived->isChecked());
instructor.setLoggedIn(ui->checkLoggedIn->isChecked()); instructor.setLoggedIn(ui->checkLoggedIn->isChecked());

View File

@@ -22,6 +22,8 @@ public:
private: private:
Ui::DialogEditInstructor *ui; Ui::DialogEditInstructor *ui;
Instructor instructorInput;
}; };
#endif // DIALOGEDITINSTRUCTOR_H #endif // DIALOGEDITINSTRUCTOR_H

View File

@@ -66,18 +66,28 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
QString name = treeItemCurrent->text(0); QString name = treeItemCurrent->text(0);
if(dbInstructors->isArchived(name)) Instructor instructor = dbInstructors->getInstructor(name);
if(instructor.getArchived())
{//Архивный {//Архивный
dbInstructors->fromeArchiveInstructor(name); instructor.setArchived(false);
if(dbInstructors->editInstructor(name, instructor))
{
loadInstructorsFromDB(); loadInstructorsFromDB();
setCurrentInstructor(name); setCurrentInstructor(instructor.getName());
}
} }
else else
{//Не Архивный {//Не Архивный
dbInstructors->toArchiveInstructor(name); instructor.setArchived(true);
if(dbInstructors->editInstructor(name, instructor))
{
if(!archiveVisible)
ui->btnArchive->click();
loadInstructorsFromDB(); loadInstructorsFromDB();
if(archiveVisible) setCurrentInstructor(instructor.getName());
setCurrentInstructor(name); }
} }
} }
} }

View File

@@ -10,9 +10,9 @@ namespace Ui {
class EditorInstructors; class EditorInstructors;
} }
//Диалог для просмотра и управления БД Инструкторов //Виджет для редактирования БД Инструкторов
class EditorInstructors : /*public QDialog,*/ public InstructorsView class EditorInstructors : public InstructorsView
{ {
Q_OBJECT Q_OBJECT

View File

@@ -20,14 +20,14 @@ void InstructorsView::preparationTreeWidget(QTreeWidget* tree)
reSetHeadTreeWidget(); reSetHeadTreeWidget();
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 12pt;")); treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
treeWidget->setColumnWidth(0, 200); treeWidget->setColumnWidth(0, 250);
treeWidget->setColumnWidth(1, 130); treeWidget->setColumnWidth(1, 100);
treeWidget->setColumnWidth(2, 130); treeWidget->setColumnWidth(2, 100);
treeWidget->setColumnWidth(3, 130); treeWidget->setColumnWidth(3, 100);
treeWidget->setColumnWidth(4, 130); treeWidget->setColumnWidth(4, 80);
treeWidget->setColumnWidth(5, 130); treeWidget->setColumnWidth(5, 80);
if(typeView == TypeView::onlyView) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView

View File

@@ -12,7 +12,7 @@ class ViewerInstructors;
//Виджет только для просмотра БД Инструкторов //Виджет только для просмотра БД Инструкторов
class INSTRUCTORSANDTRAINEES_EXPORT ViewerInstructors : /*public QWidget,*/ public InstructorsView class INSTRUCTORSANDTRAINEES_EXPORT ViewerInstructors : public InstructorsView
{ {
Q_OBJECT Q_OBJECT

View File

@@ -23,6 +23,11 @@
<layout class="QHBoxLayout" name="horizontalLayout_1"> <layout class="QHBoxLayout" name="horizontalLayout_1">
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="title"> <property name="title">
<string>Instructors</string> <string>Instructors</string>
</property> </property>

View File

@@ -6,7 +6,8 @@
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) : InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::InstructorsAndTraineesWidget), ui(new Ui::InstructorsAndTraineesWidget),
adminMode(false) adminMode(false),
loginInstructorLoggedIn(QStringLiteral(""))
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -16,11 +17,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
dataBaseInstructors = new DataBaseInstructors(dbLMS); dataBaseInstructors = new DataBaseInstructors(dbLMS);
//Авторизация Инструктора (Администратора) //Авторизация Инструктора (Администратора)
while(! authorizationInstructor(this)) authorizationInstructorLocal(this);
{
QMessageBox::warning(this, tr("Instructor authorization"), tr("Invalid login or password!"));
};
QMessageBox::information(this, tr("Instructor authorization"), tr("Successfully!"));
m_viewerTrainees = new ViewerTrainees(dataBaseTrainees, adminMode); m_viewerTrainees = new ViewerTrainees(dataBaseTrainees, adminMode);
m_viewerInstructors = new ViewerInstructors(dataBaseInstructors, adminMode); m_viewerInstructors = new ViewerInstructors(dataBaseInstructors, adminMode);
@@ -28,12 +25,14 @@ 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(800, 800); m_viewerTrainees->setMinimumSize(1000, 800);
m_viewerInstructors->setMinimumSize(800, 300); m_viewerInstructors->setMinimumSize(1000, 300);
} }
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget() InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
{ {
deAuthorizationInstructor(loginInstructorLoggedIn);
delete m_viewerInstructors; delete m_viewerInstructors;
delete m_viewerTrainees; delete m_viewerTrainees;
delete dataBaseInstructors; delete dataBaseInstructors;
@@ -42,11 +41,13 @@ InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
delete ui; delete ui;
} }
bool InstructorsAndTraineesWidget::authorizationInstructor(QWidget* parent) bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
{ {
DialogAuthorizationInstructor dlg(parent); DialogAuthorizationInstructor dlg(parent);
dlg.setWindowTitle(tr("Instructor authorithation")); dlg.setWindowTitle(tr("Instructor authorithation"));
do
{
switch( dlg.exec() ) switch( dlg.exec() )
{ {
case QDialog::Accepted: case QDialog::Accepted:
@@ -56,21 +57,39 @@ bool InstructorsAndTraineesWidget::authorizationInstructor(QWidget* parent)
if(dataBaseInstructors->AuthorizationInstructor(login, password)) if(dataBaseInstructors->AuthorizationInstructor(login, password))
{ {
loginInstructorLoggedIn = login;
if(login == QStringLiteral("admin")) if(login == QStringLiteral("admin"))
adminMode = true; adminMode = true;
QMessageBox::information(parent, tr("Instructor authorization"), tr("Successfully!"));
return true; return true;
} }
//break; else
QMessageBox::warning(parent, tr("Instructor authorization"), tr("Invalid login or password!"));
break;
} }
case QDialog::Rejected: case QDialog::Rejected:
break; return false;
default: default:
break; return false;
} }
}
while(true);
return false; return false;
} }
bool InstructorsAndTraineesWidget::authorizationCompleted()
{
if(loginInstructorLoggedIn == QStringLiteral(""))
return false;
else
return true;
}
bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString learnClass = QStringLiteral(""), QString computer = QStringLiteral("")) bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString learnClass = QStringLiteral(""), QString computer = QStringLiteral(""))
{ {
return dataBaseTrainees->AuthorizationTrainee(login, password, learnClass, computer); return dataBaseTrainees->AuthorizationTrainee(login, password, learnClass, computer);
@@ -81,7 +100,7 @@ bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login)
return dataBaseTrainees->deAuthorizationTrainee(login); return dataBaseTrainees->deAuthorizationTrainee(login);
} }
bool InstructorsAndTraineesWidget::authorizationInstructor(QString login, QString password) bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QString login, QString password)
{ {
return dataBaseInstructors->AuthorizationInstructor(login, password); return dataBaseInstructors->AuthorizationInstructor(login, password);
} }

View File

@@ -22,14 +22,15 @@ public:
public: public:
//Авторизация инструктора локальная //Авторизация инструктора локальная
bool authorizationInstructor(QWidget* parent = nullptr); bool authorizationInstructorLocal(QWidget* parent = nullptr);
bool authorizationCompleted();
//Авторизация обучаемого на клиенте //Авторизация обучаемого на клиенте
bool authorizationTrainee(QString login, QString password, QString learnClass, QString computer); bool authorizationTrainee(QString login, QString password, QString learnClass, QString computer);
bool deAuthorizationTrainee(QString login); bool deAuthorizationTrainee(QString login);
//Авторизация инструктора на клиенте //Авторизация инструктора на клиенте
bool authorizationInstructor(QString login, QString password); bool authorizationInstructorLocal(QString login, QString password);
bool deAuthorizationInstructor(QString login); bool deAuthorizationInstructor(QString login);
private: private:
@@ -44,6 +45,7 @@ private:
ViewerInstructors* m_viewerInstructors; ViewerInstructors* m_viewerInstructors;
bool adminMode; bool adminMode;
QString loginInstructorLoggedIn;
}; };
#endif // INSTRUCTORSANDTRAINEESWIDGET_H #endif // INSTRUCTORSANDTRAINEESWIDGET_H

View File

@@ -18,6 +18,11 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="title"> <property name="title">
<string>Database LMS</string> <string>Database LMS</string>
</property> </property>

View File

@@ -29,7 +29,7 @@ void TasksWidget::viewListTasksForTrainee(QString login)
{ {
QStringList listTasks; QStringList listTasks;
listTasks = pDbTrainees->getWhatItDoes(login); listTasks = pDbTrainees->getTasks(login);
ui->listWidgetTasks->clear(); ui->listWidgetTasks->clear();
ui->listWidgetTasks->addItems(listTasks); ui->listWidgetTasks->addItems(listTasks);

View File

@@ -46,11 +46,21 @@ bool DataBaseTrainees::AuthorizationTrainee(QString login, QString password, QSt
if(listOfTrainees[i].getLogin() == login && listOfTrainees[i].getPassword() == password) if(listOfTrainees[i].getLogin() == login && listOfTrainees[i].getPassword() == password)
{ {
listOfTrainees[i].setLoggedIn(true); Trainee trainee = listOfTrainees[i];
listOfTrainees[i].setLearnClass(learnClass); trainee.setLoggedIn(true);
listOfTrainees[i].setComputer(computer); trainee.setLearnClass(learnClass);
trainee.setComputer(computer);
bool result = dbLMS->updateTrainee(trainee);
if(result)
{
LoadTraineesGroupsPSQL();
return true; return true;
} }
else
return false;
}
} }
return false; return false;
} }
@@ -60,42 +70,54 @@ bool DataBaseTrainees::deAuthorizationTrainee(QString login)
//Обучаемые //Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++) for(int i = 0; i < listOfTrainees.count(); i++)
{ {
//if(listOfTrainees[i].getArchived()) if(listOfTrainees[i].getArchived())
//continue; continue;
if(listOfTrainees[i].getLogin() == login) if(listOfTrainees[i].getLogin() == login)
{ {
listOfTrainees[i].setLoggedIn(false); Trainee trainee = listOfTrainees[i];
listOfTrainees[i].setLearnClass(QStringLiteral("")); trainee.setLoggedIn(false);
listOfTrainees[i].setComputer(QStringLiteral("")); trainee.setLearnClass(QStringLiteral(""));
trainee.setComputer(QStringLiteral(""));
bool result = dbLMS->updateTrainee(trainee);
if(result)
{
LoadTraineesGroupsPSQL();
return true; return true;
} }
else
return false;
}
} }
return false; return false;
} }
void DataBaseTrainees::setWhatItDoes(QString login, QString whatItDoes) void DataBaseTrainees::setTasks(QString login, QStringList tasks)
{ {
//Обучаемые //Обучаемые
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)
listOfTrainees[i].setWhatItDoes(whatItDoes); listOfTrainees[i].setTasks(tasks);
} }
} }
QStringList DataBaseTrainees::getWhatItDoes(QString login) QStringList DataBaseTrainees::getTasks(QString login)
{ {
QString whatItDoes = QStringLiteral(""); QStringList tasks;
//Обучаемые //Обучаемые
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)
whatItDoes = listOfTrainees[i].getWhatItDoes(); {
tasks = listOfTrainees[i].getTasks();
}
} }
return whatItDoes.split(QStringLiteral(";")); return tasks;
} }
QString DataBaseTrainees::getNameTraineeOnComputer(QString computer) QString DataBaseTrainees::getNameTraineeOnComputer(QString computer)
@@ -230,17 +252,16 @@ bool DataBaseTrainees::deleteGroup(QString name)
return true; return true;
} }
bool DataBaseTrainees::editGroup(QString name, QString newName) bool DataBaseTrainees::editGroup(QString name, 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].getName() == name)
{ {
if(!checkExistNameGroup(newName) || newName == name) if(!checkExistNameGroup(group.getName()) || group.getName() == name)
{ {
Group group = listOfGroups[i]; //group.setID(listOfGroups[i].getID());
group.setName(newName);
bool result = dbLMS->updateGroup(group); bool result = dbLMS->updateGroup(group);
@@ -280,7 +301,7 @@ QString DataBaseTrainees::newTrainee(QString nameGroup)
trainee.setComputer(QStringLiteral("")); trainee.setComputer(QStringLiteral(""));
trainee.setArchived(false); trainee.setArchived(false);
trainee.setLoggedIn(false); trainee.setLoggedIn(false);
trainee.setWhatItDoes(QStringLiteral("")); //trainee.setWhatItDoes(QStringLiteral(""));
bool result = dbLMS->insertTrainee(trainee); bool result = dbLMS->insertTrainee(trainee);
@@ -314,46 +335,6 @@ void DataBaseTrainees::deleteTrainee(QString name)
} }
} }
void DataBaseTrainees::toArchiveTrainee(QString name)
{
//Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++)
{
if(listOfTrainees[i].getName() == name)
if(! listOfTrainees[i].getArchived())
{
Trainee trainee = listOfTrainees[i];
trainee.setArchived(true);
bool result = dbLMS->updateTrainee(trainee);
if(result)
LoadTraineesGroupsPSQL();
//listOfTrainees[i].setArchived(true);
}
}
}
void DataBaseTrainees::fromeArchiveTrainee(QString name)
{
//Обучаемые
for(int i = 0; i < listOfTrainees.count(); i++)
{
if(listOfTrainees[i].getName() == name)
if(listOfTrainees[i].getArchived())
{
Trainee trainee = listOfTrainees[i];
trainee.setArchived(false);
bool result = dbLMS->updateTrainee(trainee);
if(result)
LoadTraineesGroupsPSQL();
//listOfTrainees[i].setArchived(false);
}
}
}
bool DataBaseTrainees::editTrainee(QString name, Trainee trainee) bool DataBaseTrainees::editTrainee(QString name, Trainee trainee)
{ {
//Обучаемые //Обучаемые
@@ -364,7 +345,7 @@ bool DataBaseTrainees::editTrainee(QString name, Trainee trainee)
if( (!checkExistNameTrainee(trainee.getName()) || trainee.getName() == name) && if( (!checkExistNameTrainee(trainee.getName()) || trainee.getName() == name) &&
(!checkExistLoginTrainee(trainee.getLogin()) || trainee.getLogin() == listOfTrainees[i].getLogin()) ) (!checkExistLoginTrainee(trainee.getLogin()) || trainee.getLogin() == listOfTrainees[i].getLogin()) )
{ {
trainee.setID(listOfTrainees[i].getID()); //trainee.setID(listOfTrainees[i].getID());
bool result = dbLMS->updateTrainee(trainee); bool result = dbLMS->updateTrainee(trainee);

View File

@@ -24,8 +24,8 @@ public:
bool AuthorizationTrainee(QString login, QString password, QString learnClass, QString computer); bool AuthorizationTrainee(QString login, QString password, QString learnClass, QString computer);
bool deAuthorizationTrainee(QString login); bool deAuthorizationTrainee(QString login);
void setWhatItDoes(QString login, QString whatItDoes); void setTasks(QString login, QStringList tasks);
QStringList getWhatItDoes(QString login); QStringList getTasks(QString login);
QString getNameTraineeOnComputer(QString computer); QString getNameTraineeOnComputer(QString computer);
Trainee getTraineeOnComputer(QString computer); Trainee getTraineeOnComputer(QString computer);
@@ -43,12 +43,10 @@ public:
QString newGroup(); QString newGroup();
bool deleteGroup(QString name); bool deleteGroup(QString name);
bool editGroup(QString name, QString newName); bool editGroup(QString name, Group group);
QString newTrainee(QString nameGroup); QString newTrainee(QString nameGroup);
void deleteTrainee(QString name); void deleteTrainee(QString name);
void toArchiveTrainee(QString name);
void fromeArchiveTrainee(QString name);
bool editTrainee(QString name, Trainee trainee); bool editTrainee(QString name, Trainee trainee);
bool isArchived(QString name); bool isArchived(QString name);

View File

@@ -3,7 +3,8 @@
DialogEditGroup::DialogEditGroup(QWidget *parent) : DialogEditGroup::DialogEditGroup(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::DialogEditGroup) ui(new Ui::DialogEditGroup),
groupInput()
{ {
ui->setupUi(this); ui->setupUi(this);
} }
@@ -12,3 +13,19 @@ DialogEditGroup::~DialogEditGroup()
{ {
delete ui; delete ui;
} }
void DialogEditGroup::setGroup(Group group)
{
groupInput = group;
ui->editName->setText(group.getName());
}
Group DialogEditGroup::getGroup()
{
Group group = groupInput;
group.setName(ui->editName->text());
return group;
}

View File

@@ -4,6 +4,7 @@
#include <QDialog> #include <QDialog>
#include "ui_dialogeditgroup.h" #include "ui_dialogeditgroup.h"
#include "computersLocations.h" #include "computersLocations.h"
#include "group.h"
namespace Ui { namespace Ui {
class DialogEditGroup; class DialogEditGroup;
@@ -17,18 +18,13 @@ public:
explicit DialogEditGroup(QWidget *parent = nullptr); explicit DialogEditGroup(QWidget *parent = nullptr);
~DialogEditGroup(); ~DialogEditGroup();
void setName(QString name) void setGroup(Group group);
{ Group getGroup();
ui->editName->setText(name);
}
QString getName()
{
return ui->editName->text();
}
private: private:
Ui::DialogEditGroup *ui; Ui::DialogEditGroup *ui;
Group groupInput;
}; };
#endif // DIALOGEDITGROUP_H #endif // DIALOGEDITGROUP_H

View File

@@ -4,7 +4,7 @@
DialogEditTrainee::DialogEditTrainee(QWidget *parent) : DialogEditTrainee::DialogEditTrainee(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::DialogEditTrainee), ui(new Ui::DialogEditTrainee),
nameGroup() traineeInput()
{ {
ui->setupUi(this); ui->setupUi(this);
} }
@@ -16,29 +16,26 @@ DialogEditTrainee::~DialogEditTrainee()
void DialogEditTrainee::setTrainee(Trainee trainee) void DialogEditTrainee::setTrainee(Trainee trainee)
{ {
traineeInput = trainee;
ui->editName->setText(trainee.getName()); ui->editName->setText(trainee.getName());
ui->editLogin->setText(trainee.getLogin()); ui->editLogin->setText(trainee.getLogin());
ui->editPassword->setText(trainee.getPassword()); ui->editPassword->setText(trainee.getPassword());
ui->checkArchived->setChecked(trainee.getArchived()); ui->checkArchived->setChecked(trainee.getArchived());
ui->checkLoggedIn->setChecked(trainee.getLoggedIn()); ui->checkLoggedIn->setChecked(trainee.getLoggedIn());
nameGroup = trainee.getGroup();
} }
Trainee DialogEditTrainee::getTrainee() Trainee DialogEditTrainee::getTrainee()
{ {
Trainee trainee; Trainee trainee = traineeInput;
trainee.setName(ui->editName->text()); trainee.setName(ui->editName->text());
trainee.setLogin(ui->editLogin->text()); trainee.setLogin(ui->editLogin->text());
trainee.setPassword(ui->editPassword->text()); trainee.setPassword(ui->editPassword->text());
trainee.setLearnClass(QStringLiteral(""));
trainee.setComputer(QStringLiteral(""));
trainee.setArchived(ui->checkArchived->isChecked()); trainee.setArchived(ui->checkArchived->isChecked());
trainee.setLoggedIn(ui->checkLoggedIn->isChecked()); trainee.setLoggedIn(ui->checkLoggedIn->isChecked());
trainee.setWhatItDoes(QStringLiteral(""));
trainee.setGroup(nameGroup);
return trainee; return trainee;
} }

View File

@@ -22,7 +22,7 @@ public:
private: private:
Ui::DialogEditTrainee *ui; Ui::DialogEditTrainee *ui;
QString nameGroup; Trainee traineeInput;
}; };
#endif // DIALOGEDITTRAINEE_H #endif // DIALOGEDITTRAINEE_H

View File

@@ -100,21 +100,28 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
QString name = treeItemCurrent->text(0); QString name = treeItemCurrent->text(0);
if(dbTrainees->isArchived(name)) Trainee trainee = dbTrainees->getTrainee(name);
if(trainee.getArchived())
{//Архивный {//Архивный
dbTrainees->fromeArchiveTrainee(name); trainee.setArchived(false);
if(dbTrainees->editTrainee(name, trainee))
{
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentTrainee(name); setCurrentTrainee(trainee.getName());
}
} }
else else
{//Не Архивный {//Не Архивный
dbTrainees->toArchiveTrainee(name); trainee.setArchived(true);
if(dbTrainees->editTrainee(name, trainee))
{
if(!archiveVisible) if(!archiveVisible)
ui->btnArchive->click(); ui->btnArchive->click();
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentTrainee(name); setCurrentTrainee(trainee.getName());
}
} }
} }
} }
@@ -134,15 +141,16 @@ void EditorTrainees::on_btnEdit_clicked()
QString nameGroup = treeItemCurrent->text(0); QString nameGroup = treeItemCurrent->text(0);
DialogEditGroup dlg(this); DialogEditGroup dlg(this);
dlg.setName(nameGroup); dlg.setGroup(dbTrainees->getGroup(nameGroup));
switch( dlg.exec() ) switch( dlg.exec() )
{ {
case QDialog::Accepted: case QDialog::Accepted:
{ {
if(dbTrainees->editGroup(nameGroup, dlg.getName())) if(dbTrainees->editGroup(nameGroup, dlg.getGroup()))
{ {
loadTraineesFromDB(); loadTraineesFromDB();
setCurrentGroup(dlg.getName()); setCurrentGroup(dlg.getGroup().getName());
} }
else else
QMessageBox::critical(this, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),

View File

@@ -11,7 +11,7 @@ namespace Ui {
class EditorTrainees; class EditorTrainees;
} }
//Диалог для просмотра и управления БД Обучаемых //Виджет для редактирования БД Обучаемых
class EditorTrainees : /*public QDialog,*/ public TraineesView class EditorTrainees : /*public QDialog,*/ public TraineesView
{ {

View File

@@ -15,31 +15,32 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
if(treeWidget == nullptr) if(treeWidget == nullptr)
return; return;
treeWidget->setColumnCount(8); treeWidget->setColumnCount(9);
reSetHeadTreeWidget(); reSetHeadTreeWidget();
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 12pt;")); treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
treeWidget->setColumnWidth(0, 200); treeWidget->setColumnWidth(0, 250);
treeWidget->setColumnWidth(1, 130); treeWidget->setColumnWidth(1, 100);
treeWidget->setColumnWidth(2, 130); treeWidget->setColumnWidth(2, 100);
treeWidget->setColumnWidth(3, 130); treeWidget->setColumnWidth(3, 130);
treeWidget->setColumnWidth(4, 130); treeWidget->setColumnWidth(4, 130);
treeWidget->setColumnWidth(5, 130); treeWidget->setColumnWidth(5, 130);
treeWidget->setColumnWidth(6, 130); treeWidget->setColumnWidth(6, 80);
treeWidget->setColumnWidth(7, 100); treeWidget->setColumnWidth(7, 80);
treeWidget->setColumnWidth(8, 100);
if(typeView == TypeView::onlyView) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView
treeWidget->setColumnHidden(1, true); treeWidget->setColumnHidden(1, true);
treeWidget->setColumnHidden(2, true); treeWidget->setColumnHidden(2, true);
treeWidget->setColumnHidden(5, true); treeWidget->setColumnHidden(6, true);
treeWidget->setColumnHidden(7, true); treeWidget->setColumnHidden(8, true);
} }
else else
{//control {//control
treeWidget->setColumnHidden(5, true); treeWidget->setColumnHidden(6, true);
} }
} }
@@ -74,32 +75,33 @@ void TraineesView::loadTraineesFromDB()
ItemTrainee->setText(2, trainee.getPassword()); ItemTrainee->setText(2, trainee.getPassword());
ItemTrainee->setText(3, trainee.getLearnClass()); ItemTrainee->setText(3, trainee.getLearnClass());
ItemTrainee->setText(4, trainee.getComputer()); ItemTrainee->setText(4, trainee.getComputer());
ItemTrainee->setText(5, trainee.getIpAddress());
if(trainee.getArchived()) if(trainee.getArchived())
{//Архивный {//Архивный
ItemTrainee->setText(5, tr("yes")); ItemTrainee->setText(6, tr("yes"));
ItemTrainee->setIcon(0, QIcon(QStringLiteral(":/icons/traineeArchive.png"))); ItemTrainee->setIcon(0, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
setItemColorArchive(ItemTrainee); setItemColorArchive(ItemTrainee);
} }
else else
{//Не Архивный {//Не Архивный
ItemTrainee->setText(5, tr("no")); ItemTrainee->setText(6, tr("no"));
ItemTrainee->setIcon(0, QIcon(QStringLiteral(":/icons/trainee.png"))); ItemTrainee->setIcon(0, QIcon(QStringLiteral(":/icons/trainee.png")));
setItemColorNoArchive(ItemTrainee); setItemColorNoArchive(ItemTrainee);
} }
if(trainee.getLoggedIn()) if(trainee.getLoggedIn())
{//Залогинен {//Залогинен
ItemTrainee->setText(6, tr("yes")); ItemTrainee->setText(7, tr("yes"));
ItemTrainee->setIcon(6, QIcon(QStringLiteral(":/icons/circleGreen.png"))); ItemTrainee->setIcon(7, QIcon(QStringLiteral(":/icons/circleGreen.png")));
} }
else else
{//Не Залогинен {//Не Залогинен
ItemTrainee->setText(6, tr("no")); ItemTrainee->setText(7, tr("no"));
ItemTrainee->setIcon(6, QIcon(QStringLiteral(":/icons/circleGray.png"))); ItemTrainee->setIcon(7, QIcon(QStringLiteral(":/icons/circleGray.png")));
} }
ItemTrainee->setText(7, trainee.getWhatItDoes()); ItemTrainee->setText(8, QString(trainee.getTasks().join(QStringLiteral(";"))));
ItemGroup->addChild(ItemTrainee); ItemGroup->addChild(ItemTrainee);
@@ -129,6 +131,6 @@ void TraineesView::loadTraineesFromDB()
void TraineesView::reSetHeadTreeWidget() void TraineesView::reSetHeadTreeWidget()
{ {
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("Archived"), tr("Logged"), tr("Tasks")}; QStringList listHeaders = {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

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

View File

@@ -23,6 +23,11 @@
<layout class="QHBoxLayout" name="horizontalLayout_1"> <layout class="QHBoxLayout" name="horizontalLayout_1">
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="title"> <property name="title">
<string>Trainees</string> <string>Trainees</string>
</property> </property>

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-01T11:44:20. --> <!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -47,7 +47,7 @@ QList<Instructor> DataBaseLMS::selectAllInstructors()
{ {
QList<Instructor> listInstructors; QList<Instructor> listInstructors;
QString queryStr = QString("SELECT instructor_id, name, login, password, is_admin, archived " QString queryStr = QString("SELECT instructor_id, name, login, password, is_admin, archived, logged_in "
"FROM public.instructors " "FROM public.instructors "
"ORDER BY instructor_id ASC"); "ORDER BY instructor_id ASC");
@@ -67,7 +67,7 @@ QList<Instructor> DataBaseLMS::selectAllInstructors()
instructor.setPassword(query.value(3).toString()); instructor.setPassword(query.value(3).toString());
instructor.setIsAdmin(query.value(4).toBool()); instructor.setIsAdmin(query.value(4).toBool());
instructor.setArchived(query.value(5).toBool()); instructor.setArchived(query.value(5).toBool());
instructor.setLoggedIn(false); instructor.setLoggedIn(query.value(6).toBool());
listInstructors.append(instructor); listInstructors.append(instructor);
} }
@@ -80,9 +80,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, " QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, trainees.logged_in, "
"groups_of_trainees.name " "groups_of_trainees.name, "
"educational_classes.name, "
"computers.name, computers.ip_address "
"FROM public.trainees JOIN public.groups_of_trainees ON groups_of_trainees.group_id = trainees.group_trainees " "FROM public.trainees JOIN public.groups_of_trainees ON groups_of_trainees.group_id = trainees.group_trainees "
"LEFT OUTER JOIN public.computers ON computers.computer_id = trainees.computer "
"LEFT OUTER JOIN public.educational_classes ON educational_classes.class_id = computers.class "
"ORDER BY groups_of_trainees.name ASC"); "ORDER BY groups_of_trainees.name ASC");
QSqlQuery query(*db); QSqlQuery query(*db);
@@ -95,16 +99,20 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
while (query.next()) while (query.next())
{//Обучаемый {//Обучаемый
Trainee trainee; Trainee trainee;
trainee.setID(query.value(0).toInt()); trainee.setID(query.value(0).toInt());
trainee.setName(query.value(1).toString()); trainee.setName(query.value(1).toString());
trainee.setLogin(query.value(2).toString()); trainee.setLogin(query.value(2).toString());
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.setGroup(query.value(5).toString()); trainee.setLoggedIn(query.value(5).toBool());
trainee.setWhatItDoes(QStringLiteral("")); trainee.setGroup(query.value(6).toString());
trainee.setLoggedIn(false);
trainee.setLearnClass(QStringLiteral("")); trainee.setLearnClass(query.value(7).toString());
trainee.setComputer(QStringLiteral("")); trainee.setComputer(query.value(8).toString());
trainee.setIpAddress(query.value(9).toString());
trainee.setTasks(selectTasksOfTrainee(trainee.getID()));
listTrainees.append(trainee); listTrainees.append(trainee);
} }
@@ -144,13 +152,14 @@ QList<Group> DataBaseLMS::selectAllGroups()
bool DataBaseLMS::insertInstructor(Instructor instructor) bool DataBaseLMS::insertInstructor(Instructor instructor)
{ {
QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived) " QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived, logged_in) "
"VALUES ('%1', '%2', '%3', %4, %5)").arg( "VALUES ('%1', '%2', '%3', %4, %5, %6)").arg(
instructor.getName(), instructor.getName(),
instructor.getLogin(), instructor.getLogin(),
instructor.getPassword(), instructor.getPassword(),
instructor.getIsAdmin() ? "true" : "false", instructor.getIsAdmin() ? "true" : "false",
instructor.getArchived() ? "true" : "false"); instructor.getArchived() ? "true" : "false",
instructor.getLoggedIn() ? "true" : "false");
return queryExec(queryStr); return queryExec(queryStr);
} }
@@ -165,13 +174,14 @@ bool DataBaseLMS::deleteInstructor(int instructor_id)
bool DataBaseLMS::updateInstructor(Instructor instructor) bool 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 " "SET name = '%1', login = '%2', password = '%3', is_admin = %4, archived = %5, logged_in = %6 "
"WHERE instructor_id = %6").arg( "WHERE instructor_id = %7").arg(
instructor.getName(), instructor.getName(),
instructor.getLogin(), instructor.getLogin(),
instructor.getPassword(), instructor.getPassword(),
instructor.getIsAdmin() ? "true" : "false", instructor.getIsAdmin() ? "true" : "false",
instructor.getArchived() ? "true" : "false", instructor.getArchived() ? "true" : "false",
instructor.getLoggedIn() ? "true" : "false",
QString::number(instructor.getID()) ); QString::number(instructor.getID()) );
return queryExec(queryStr); return queryExec(queryStr);
@@ -206,15 +216,18 @@ bool DataBaseLMS::updateGroup(Group group)
bool DataBaseLMS::insertTrainee(Trainee trainee) bool DataBaseLMS::insertTrainee(Trainee trainee)
{ {
QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, group_trainees) " QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, logged_in, group_trainees, computer) "
"VALUES ('%1', '%2', '%3', %4, " "VALUES ('%1', '%2', '%3', %4, %5, "
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%5') " "(SELECT group_id FROM public.groups_of_trainees WHERE name = '%6'), "
"(SELECT computer_id FROM public.computers WHERE name = '%7') "
")").arg( ")").arg(
trainee.getName(), trainee.getName(),
trainee.getLogin(), trainee.getLogin(),
trainee.getPassword(), trainee.getPassword(),
trainee.getArchived() ? "true" : "false", trainee.getArchived() ? "true" : "false",
trainee.getGroup()); trainee.getLoggedIn() ? "true" : "false",
trainee.getGroup(),
trainee.getComputer());
return queryExec(queryStr); return queryExec(queryStr);
} }
@@ -229,19 +242,52 @@ bool DataBaseLMS::deleteTrainee(int trainee_id)
bool DataBaseLMS::updateTrainee(Trainee trainee) bool DataBaseLMS::updateTrainee(Trainee trainee)
{ {
QString queryStr = QString("UPDATE public.trainees " QString queryStr = QString("UPDATE public.trainees "
"SET name = '%1', login = '%2', password = '%3', archived = %4, group_trainees = " "SET name = '%1', login = '%2', password = '%3', archived = %4, logged_in = %5, "
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%5') " "group_trainees = "
"WHERE trainee_id = %6").arg( "(SELECT group_id FROM public.groups_of_trainees WHERE name = '%6'), "
"computer = "
"(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.getGroup(), trainee.getGroup(),
trainee.getComputer(),
QString::number(trainee.getID()) ); QString::number(trainee.getID()) );
return queryExec(queryStr); return queryExec(queryStr);
} }
QStringList DataBaseLMS::selectTasksOfTrainee(int trainee_id)
{
QStringList tasks;
QString queryStr = QString("SELECT tasks.task_id, tasks.name "
"FROM public.trainees "
"JOIN public.trainee_tasks ON trainee_tasks.trainee_id = trainees.trainee_id "
"JOIN public.tasks ON tasks.task_id = trainee_tasks.task_id "
"WHERE trainees.trainee_id = %1 "
"ORDER BY tasks.name ASC").arg(
trainee_id);
QSqlQuery query(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr);
}
else
{
while (query.next())
{//Задача
tasks.append(query.value(1).toString());
}
}
return tasks;
}
bool DataBaseLMS::queryExec(QString queryStr) bool DataBaseLMS::queryExec(QString queryStr)
{ {
QSqlQuery query(*db); QSqlQuery query(*db);

View File

@@ -35,6 +35,8 @@ public:
bool deleteTrainee(int trainee_id); bool deleteTrainee(int trainee_id);
bool updateTrainee(Trainee trainee); bool updateTrainee(Trainee trainee);
QStringList selectTasksOfTrainee(int trainee_id);
private: private:
bool queryExec(QString queryStr); bool queryExec(QString queryStr);
void messageWarningErrorQuery(QString queryStr); void messageWarningErrorQuery(QString queryStr);

View File

@@ -5,12 +5,12 @@ Trainee::Trainee():
name(), name(),
login(), login(),
password(), password(),
archived(false),
loggedIn(false),
group(),
learnClass(), learnClass(),
computer(), computer(),
group(), tasks()
archived(false),
whatItDoes(),
loggedIn(false)
{ {
} }

View File

@@ -2,6 +2,7 @@
#define TRAINEE_H #define TRAINEE_H
#include <QString> #include <QString>
#include <QList>
#include "DataBaseLMS_global.h" #include "DataBaseLMS_global.h"
class DATABASELMS_EXPORT Trainee class DATABASELMS_EXPORT Trainee
@@ -27,6 +28,9 @@ public:
void setComputer(QString computer){this->computer = computer;} void setComputer(QString computer){this->computer = computer;}
QString getComputer(){return computer;} QString getComputer(){return computer;}
void setIpAddress(QString ipAddress){this->ipAddress = ipAddress;}
QString getIpAddress(){return ipAddress;}
void setGroup(QString group){this->group = group;} void setGroup(QString group){this->group = group;}
QString getGroup(){return group;} QString getGroup(){return group;}
@@ -36,22 +40,23 @@ public:
void setLoggedIn(bool loggedIn){this->loggedIn = loggedIn;} void setLoggedIn(bool loggedIn){this->loggedIn = loggedIn;}
bool getLoggedIn(){return loggedIn;} bool getLoggedIn(){return loggedIn;}
void setWhatItDoes(QString whatItDoes){this->whatItDoes = whatItDoes;} void setTasks(QStringList tasks){this->tasks = tasks;}
QString getWhatItDoes(){return whatItDoes;} QStringList getTasks(){return tasks;}
private: private:
int trainee_id; int trainee_id;
QString name; QString name;
QString login; QString login;
QString password; QString password;
bool archived;
bool loggedIn;
QString group;
QString learnClass; QString learnClass;
QString computer; QString computer;
QString group; QString ipAddress;
bool archived;
QString whatItDoes; QStringList tasks;
bool loggedIn;
}; };
#endif // TRAINEE_H #endif // TRAINEE_H

View File

@@ -175,7 +175,7 @@
}, },
{ {
"name" : "HELPSTRING", "name" : "HELPSTRING",
"value" : "CXX compiler" "value" : "No help, variable specified on the command line."
} }
], ],
"type" : "STRING", "type" : "STRING",

View File

@@ -35,7 +35,7 @@
} }
}, },
{ {
"jsonFile" : "cache-v2-87ff728da30d5c1b46b4.json", "jsonFile" : "cache-v2-8fba00a0d0b5ca55fe65.json",
"kind" : "cache", "kind" : "cache",
"version" : "version" :
{ {
@@ -57,7 +57,7 @@
{ {
"cache-v2" : "cache-v2" :
{ {
"jsonFile" : "cache-v2-87ff728da30d5c1b46b4.json", "jsonFile" : "cache-v2-8fba00a0d0b5ca55fe65.json",
"kind" : "cache", "kind" : "cache",
"version" : "version" :
{ {

Binary file not shown.

View File

@@ -1,38 +1,40 @@
# ninja log v5 # ninja log v5
19 65 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
19 65 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
19 65 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
19 65 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
73 114 7519953979924905 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
76 2021 7519953998963985 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
81 528 7519953984053864 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
78 530 7519953984073811 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
83 659 7519953985360369 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
2022 2151 7519954000271671 libDataBaseLMS.dll ff7ea32bf6d01e45
2022 2151 7519954000271671 libDataBaseLMS.dll.a ff7ea32bf6d01e45
13 38 0 CMakeFiles/clean.additional 7155004b3956b606
38 45 0 clean 9c4b4372737ab8da
11 88 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
11 88 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
11 88 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
11 88 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
89 131 7520878398625762 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
96 543 7520878402734775 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
94 543 7520878402734775 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
99 674 7520878404051256 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
91 2052 7520878417814781 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2052 2189 7520878419182806 libDataBaseLMS.dll ff7ea32bf6d01e45
2052 2189 7520878419182806 libDataBaseLMS.dll.a ff7ea32bf6d01e45
22 47 0 CMakeFiles/clean.additional 7155004b3956b606
47 55 0 clean 9c4b4372737ab8da 47 55 0 clean 9c4b4372737ab8da
11 94 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 1951 2080 7522348242331840 libDataBaseLMS.dll.a ff7ea32bf6d01e45
11 94 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 1951 2080 7522348242331840 libDataBaseLMS.dll ff7ea32bf6d01e45
11 94 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 22 47 0 CMakeFiles/clean.additional 7155004b3956b606
11 94 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
94 551 7521537133322796 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
101 560 7521537133402973 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
99 560 7521537133402973 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
104 671 7521537134517871 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77 104 671 7521537134517871 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
96 2083 7521537148634640 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 99 560 7521537133402973 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
2084 2362 7521537151402412 libDataBaseLMS.dll ff7ea32bf6d01e45 53 590 7522403839711265 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
2084 2362 7521537151402412 libDataBaseLMS.dll.a ff7ea32bf6d01e45 50 1951 7522348241036252 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
94 551 7521537133322796 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
15 50 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 50 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 50 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 50 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
48 1982 7522404428246470 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
1982 2122 7522404429643912 libDataBaseLMS.dll ff7ea32bf6d01e45
1982 2122 7522404429643912 libDataBaseLMS.dll.a ff7ea32bf6d01e45
14 51 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
14 51 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
14 51 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
14 51 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
55 602 7522435661437638 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
52 2052 7522435675931417 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2052 2186 7522435677257822 libDataBaseLMS.dll ff7ea32bf6d01e45
2052 2186 7522435677257822 libDataBaseLMS.dll.a ff7ea32bf6d01e45
15 47 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 47 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 47 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 47 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
48 1966 7522449510503097 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
1966 2101 7522449511856355 libDataBaseLMS.dll ff7ea32bf6d01e45
1966 2101 7522449511856355 libDataBaseLMS.dll.a ff7ea32bf6d01e45
15 48 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
15 48 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20

View File

@@ -34,7 +34,7 @@ CMAKE_CODEBLOCKS_EXECUTABLE:FILEPATH=CMAKE_CODEBLOCKS_EXECUTABLE-NOTFOUND
// Enter e.g. -j<some_number> to get parallel builds // Enter e.g. -j<some_number> to get parallel builds
CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING= CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING=
//CXX compiler //No help, variable specified on the command line.
CMAKE_CXX_COMPILER:STRING=C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe CMAKE_CXX_COMPILER:STRING=C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe
//A wrapper around 'ar' adding the appropriate '--plugin' option //A wrapper around 'ar' adding the appropriate '--plugin' option

View File

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

Binary file not shown.

Binary file not shown.

View File

@@ -175,7 +175,7 @@
}, },
{ {
"name" : "HELPSTRING", "name" : "HELPSTRING",
"value" : "CXX compiler" "value" : "No help, variable specified on the command line."
} }
], ],
"type" : "STRING", "type" : "STRING",

View File

@@ -35,7 +35,7 @@
} }
}, },
{ {
"jsonFile" : "cache-v2-6165eceb20812ad8197a.json", "jsonFile" : "cache-v2-e72a4de3928879cfd800.json",
"kind" : "cache", "kind" : "cache",
"version" : "version" :
{ {
@@ -57,7 +57,7 @@
{ {
"cache-v2" : "cache-v2" :
{ {
"jsonFile" : "cache-v2-6165eceb20812ad8197a.json", "jsonFile" : "cache-v2-e72a4de3928879cfd800.json",
"kind" : "cache", "kind" : "cache",
"version" : "version" :
{ {

Binary file not shown.

View File

@@ -1,55 +1,28 @@
# ninja log v5 # ninja log v5
11 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
425 1550 7520878618305350 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
428 1609 7520878618883805 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
11 42 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
8 33 0 CMakeFiles/clean.additional 7155004b3956b606
382 422 7520878607015845 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
1609 1738 7520878620162574 testDBpgSQL.exe 481e73a84a688916
33 40 0 clean 9c4b4372737ab8da
11 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
423 1543 7520878618225564 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
11 42 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 42 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
382 422 7520878607015845 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
430 481 7520878607613933 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a
11 42 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 47 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 47 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 47 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
15 47 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 47 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 47 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 11 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 48 1206 7522450037737204 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
20 45 0 CMakeFiles/clean.additional 7155004b3956b606
45 52 0 clean 9c4b4372737ab8da
11 390 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 390 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 390 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 390 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 390 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 390 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
390 445 7521537275150898 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766 390 445 7521537275150898 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
20 45 0 CMakeFiles/clean.additional 7155004b3956b606
1206 1337 7522450039022557 testDBpgSQL.exe 481e73a84a688916
45 52 0 clean 9c4b4372737ab8da
43 1159 7522450037263284 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
390 445 7521537275150898 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766 390 445 7521537275150898 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
11 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
452 502 7521537275743574 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a 452 502 7521537275743574 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a
445 1557 7521537286276618 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0 11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
448 1560 7521537286306827 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2 45 1201 7522450037666470 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
450 1593 7521537286635932 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1 15 45 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
1593 1729 7521537287999239 testDBpgSQL.exe 481e73a84a688916 15 45 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 54 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 15 45 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
15 54 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 15 45 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 54 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 15 45 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
15 54 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 15 45 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
15 54 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 12 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
15 54 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 12 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 42 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 12 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
11 42 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8 12 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
11 42 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8 12 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
11 42 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8 12 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h 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

View File

@@ -34,7 +34,7 @@ CMAKE_CODEBLOCKS_EXECUTABLE:FILEPATH=CMAKE_CODEBLOCKS_EXECUTABLE-NOTFOUND
// Enter e.g. -j<some_number> to get parallel builds // Enter e.g. -j<some_number> to get parallel builds
CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING= CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING=
//CXX compiler //No help, variable specified on the command line.
CMAKE_CXX_COMPILER:STRING=C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe CMAKE_CXX_COMPILER:STRING=C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe
//A wrapper around 'ar' adding the appropriate '--plugin' option //A wrapper around 'ar' adding the appropriate '--plugin' option

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-01T11:44:20. --> <!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -5,7 +5,15 @@
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QApplication a(argc, argv); QApplication a(argc, argv);
try
{
MainWindow w; MainWindow w;
w.show(); w.show();
return a.exec(); return a.exec();
} }
catch( const std::exception& e )
{
return 1;
}
}

View File

@@ -12,6 +12,13 @@ MainWindow::MainWindow(QWidget *parent)
ui->setupUi(this); ui->setupUi(this);
m_instructorsAndTraineesWidget = new InstructorsAndTraineesWidget(this); m_instructorsAndTraineesWidget = new InstructorsAndTraineesWidget(this);
if(! m_instructorsAndTraineesWidget->authorizationCompleted())
{
delete m_instructorsAndTraineesWidget;
delete ui;
throw(std::exception());
}
ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget); ui->horizontalLayout->addWidget(m_instructorsAndTraineesWidget);
this->move(0, 0); this->move(0, 0);