mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
before interface 13.11.2024
This commit is contained in:
Binary file not shown.
@@ -1,78 +1,121 @@
|
||||
# ninja log v5
|
||||
939 1049 7525981713172857 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
|
||||
1076 3519 7525981737859367 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
57 1294 7526001966157653 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 56 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
939 1049 7525981713172857 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
1053 3234 7525981734783034 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
1061 3402 7525981736671953 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
1294 1665 7526001969842689 libInstructorsAndTrainees.dll d721655f2d9255b7
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
13 253 7524942129142836 build.ninja 76aa11f472515be0
|
||||
1073 3685 7525981739493337 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
|
||||
1064 2292 7525981725238885 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301
|
||||
1079 3311 7525981735671562 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5
|
||||
1294 1665 7526001969842689 libInstructorsAndTrainees.dll.a d721655f2d9255b7
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
1101 1321 7525981715851341 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf
|
||||
1012 3479 7520793522676004 CMakeFiles/InstructorsAndTrainees.dir/instructorsAndTrainees.cpp.obj ff3fcdc370580ca2
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
1093 3696 7525981739656070 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
1049 3541 7525981738084357 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
1070 3598 7525981738646009 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
|
||||
13 41 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
17 56 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
1067 3354 7525981736197679 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17
|
||||
17 56 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
1058 3194 7525981734239997 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7
|
||||
1083 3690 7525981739594632 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
|
||||
1098 3612 7525981738797694 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
939 1049 7525981713172857 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
1053 3234 7525981734783034 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
402 1698 7531838035821493 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
|
||||
61 1098 7531240543218859 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
102 1804 7531837214477402 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
|
||||
1086 3403 7525981736691900 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f
|
||||
41 51 0 clean 9c4b4372737ab8da
|
||||
17 56 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
13 253 7531839302069843 build.ninja 76aa11f472515be0
|
||||
89 1836 7531837214806736 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
|
||||
1064 2292 7525981725238885 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301
|
||||
405 1768 7531838036529893 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
56 1112 7531242705228988 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17
|
||||
17 402 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
1012 3479 7520793522676004 CMakeFiles/InstructorsAndTrainees.dir/instructorsAndTrainees.cpp.obj ff3fcdc370580ca2
|
||||
1101 1321 7525981715851341 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf
|
||||
1112 1469 7531242708771354 libInstructorsAndTrainees.dll.a d721655f2d9255b7
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
1112 1469 7531242708771354 libInstructorsAndTrainees.dll d721655f2d9255b7
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
105 1888 7531837215325145 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
92 1870 7531837215145617 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
81 1983 7531837216272616 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 402 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
1058 3194 7525981734239997 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7
|
||||
1090 3335 7525981736006531 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7
|
||||
1051 3803 7525981740695693 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
|
||||
19 57 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
19 57 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
19 57 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/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
19 57 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
57 1303 7526014018240729 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
|
||||
1303 1677 7526014021949564 libInstructorsAndTrainees.dll d721655f2d9255b7
|
||||
1303 1677 7526014021949564 libInstructorsAndTrainees.dll.a d721655f2d9255b7
|
||||
17 402 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
13 41 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
86 1871 7531837215155595 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
|
||||
98 2027 7531837216691491 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
|
||||
939 1049 7525981713172857 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
|
||||
17 353 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
17 353 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
17 353 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
382 1964 7531839339498391 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
|
||||
378 2067 7531839340529769 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
|
||||
369 2099 7531839340850124 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
|
||||
354 2126 7531839341109418 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
|
||||
359 2160 7531839341449390 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
|
||||
366 2161 7531839341449390 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
|
||||
375 2210 7531839341950869 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
|
||||
356 2212 7531839341970816 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
|
||||
363 2272 7531839342578795 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
|
||||
17 54 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
17 54 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
|
||||
17 54 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
|
||||
61 1646 7531839533616695 CMakeFiles/InstructorsAndTrainees.dir/trainees/databasetrainees.cpp.obj b3eab31811ef0e17
|
||||
73 1706 7531839534240696 CMakeFiles/InstructorsAndTrainees.dir/instructors/databaseinstructors.cpp.obj 50eb3e676aec3cc5
|
||||
79 1722 7531839534380323 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
|
||||
64 1741 7531839534601666 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
|
||||
69 1807 7531839535259884 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
|
||||
54 1819 7531839535390685 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
|
||||
83 1852 7531839535709841 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
|
||||
76 1855 7531839535739769 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
|
||||
59 1861 7531839535800849 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
|
||||
67 1866 7531839535859449 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
|
||||
56 1976 7531839536960691 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
|
||||
1976 2385 7531839541029361 libInstructorsAndTrainees.dll d721655f2d9255b7
|
||||
1976 2385 7531839541029361 libInstructorsAndTrainees.dll.a d721655f2d9255b7
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,12 +1,17 @@
|
||||
# Generated by CMake. Changes will be overwritten.
|
||||
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/trainees/dialogedittrainee.cpp
|
||||
uic:ui_dialogedittrainee.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
|
||||
mmc:Q_OBJECT
|
||||
uic:ui_dialogeditgroup.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
|
||||
@@ -15,47 +20,42 @@ 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/trainees/viewertrainees.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h
|
||||
mmc:Q_OBJECT
|
||||
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
|
||||
mmc:Q_OBJECT
|
||||
uic:ui_dialogeditgroup.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
|
||||
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/instructorsview.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
|
||||
uic:ui_editortrainees.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h
|
||||
mmc:Q_OBJECT
|
||||
uic:ui_dialogauthorizationinstructor.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/databaseinstructors.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
|
||||
uic:ui_viewertrainees.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
|
||||
uic:ui_viewerinstructors.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.cpp
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp
|
||||
uic:ui_taskswidget.h
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp
|
||||
uic:ui_editorinstructors.h
|
||||
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
|
||||
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-06T16:05:43. -->
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-13T09:53:44. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -6,8 +6,6 @@ DataBaseInstructors::DataBaseInstructors(DataBaseLMS* dbLMS):
|
||||
adminMode(false)
|
||||
{
|
||||
this->dbLMS = dbLMS;
|
||||
|
||||
LoadInstructorsPSQL();
|
||||
}
|
||||
|
||||
DataBaseInstructors::~DataBaseInstructors()
|
||||
@@ -15,229 +13,91 @@ DataBaseInstructors::~DataBaseInstructors()
|
||||
|
||||
}
|
||||
|
||||
void DataBaseInstructors::LoadInstructorsPSQL()
|
||||
{
|
||||
listOfInstructors.clear();
|
||||
listOfInstructors = dbLMS->selectAllInstructors();
|
||||
|
||||
QApplication::beep();
|
||||
}
|
||||
|
||||
bool DataBaseInstructors::AuthorizationInstructor(QString login, QString password)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
if(! dbLMS->transactionBegin())
|
||||
return false;
|
||||
|
||||
if(int id = dbLMS->selectInstructorID(login, password))
|
||||
{
|
||||
if(listOfInstructors[i].getArchived())
|
||||
continue;
|
||||
|
||||
if(listOfInstructors[i].getLogin() == login && listOfInstructors[i].getPassword() == password)
|
||||
{
|
||||
Instructor instructor = listOfInstructors[i];
|
||||
instructor.setLoggedIn(true);
|
||||
|
||||
int id = dbLMS->updateInstructor(instructor);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadInstructorsPSQL();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
if(dbLMS->updateInstructorLoggedIn(id, true))
|
||||
return dbLMS->transactionEnd();
|
||||
}
|
||||
|
||||
dbLMS->transactionEnd();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataBaseInstructors::deAuthorizationInstructor(QString login)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
if(! dbLMS->transactionBegin())
|
||||
return false;
|
||||
|
||||
if(int id = dbLMS->selectInstructorID(login))
|
||||
{
|
||||
if(listOfInstructors[i].getArchived())
|
||||
continue;
|
||||
|
||||
if(listOfInstructors[i].getLogin() == login)
|
||||
{
|
||||
Instructor instructor = listOfInstructors[i];
|
||||
instructor.setLoggedIn(false);
|
||||
|
||||
int id = dbLMS->updateInstructor(instructor);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadInstructorsPSQL();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
if(dbLMS->updateInstructorLoggedIn(id, false))
|
||||
return dbLMS->transactionEnd();
|
||||
}
|
||||
|
||||
dbLMS->transactionEnd();
|
||||
return false;
|
||||
}
|
||||
|
||||
QList<Instructor> DataBaseInstructors::getListInstructors()
|
||||
{
|
||||
return dbLMS->selectAllInstructors();
|
||||
}
|
||||
|
||||
Instructor DataBaseInstructors::getInstructor(int id)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getID() == id)
|
||||
return listOfInstructors[i];
|
||||
}
|
||||
return Instructor();
|
||||
return dbLMS->selectInstructor(id);
|
||||
}
|
||||
|
||||
QString DataBaseInstructors::getNameInstructorByLogin(QString login)
|
||||
{
|
||||
for(Instructor instructor : listOfInstructors)
|
||||
{
|
||||
if(instructor.getLogin() == login)
|
||||
return instructor.getName();
|
||||
}
|
||||
return QString(QStringLiteral(""));
|
||||
}
|
||||
/*
|
||||
QString DataBaseInstructors::getAuthorizedInstructorName()
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getLoggedIn())
|
||||
return listOfInstructors[i].getName();
|
||||
}
|
||||
return QStringLiteral("");
|
||||
}*/
|
||||
|
||||
int DataBaseInstructors::newInstructor()
|
||||
{
|
||||
Instructor instructor;
|
||||
instructor.setName(generateDefaultNameInstructor());
|
||||
instructor.setLogin(generateDefaultLoginInstructor());
|
||||
instructor.setPassword(QStringLiteral("<password>"));
|
||||
instructor.setIsAdmin(false);
|
||||
instructor.setArchived(false);
|
||||
instructor.setLoggedIn(false);
|
||||
|
||||
int id = dbLMS->insertInstructor(instructor);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadInstructorsPSQL();
|
||||
return id;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
return dbLMS->insertInstructor();
|
||||
}
|
||||
|
||||
int DataBaseInstructors::deleteInstructor(int id)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getID() == id)
|
||||
{
|
||||
int id_del = dbLMS->deleteInstructor(id);
|
||||
|
||||
if(id_del)
|
||||
{
|
||||
LoadInstructorsPSQL();
|
||||
return id_del;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return dbLMS->deleteInstructor(id);
|
||||
}
|
||||
|
||||
int DataBaseInstructors::editInstructor(Instructor instructor)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
//Проверка дублирования логина и имени
|
||||
QList<Instructor> listInstructors = dbLMS->selectAllInstructors();
|
||||
for(Instructor exist_instructor : listInstructors)
|
||||
{
|
||||
if(listOfInstructors[i].getID() == instructor.getID())
|
||||
{
|
||||
if( (!checkExistNameInstructor(instructor.getName()) || instructor.getName() == listOfInstructors[i].getName()) &&
|
||||
(!checkExistLoginInstructor(instructor.getLogin()) || instructor.getLogin() == listOfInstructors[i].getLogin()) )
|
||||
{
|
||||
int id = dbLMS->updateInstructor(instructor);
|
||||
if(instructor.getLogin() == exist_instructor.getLogin() && instructor.getID() != exist_instructor.getID())
|
||||
{//Логин уже существует!
|
||||
QMessageBox::critical(nullptr, tr("Editing error!"),
|
||||
tr("An existing instructor login has been entered.\nThe changes will not be accepted."));
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadInstructorsPSQL();
|
||||
return id;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
if(instructor.getName() == exist_instructor.getName() && instructor.getID() != exist_instructor.getID())
|
||||
{//Имя уже существует
|
||||
QMessageBox::warning(nullptr, tr("Editing warning!"),
|
||||
tr("An existing instructor name has been entered."));
|
||||
//return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
return dbLMS->updateInstructor(instructor);
|
||||
}
|
||||
|
||||
bool DataBaseInstructors::isAdmin(int id)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getID() == id)
|
||||
return listOfInstructors[i].getIsAdmin();
|
||||
}
|
||||
return false;
|
||||
return dbLMS->selectInstructorIsAdmin(id);
|
||||
}
|
||||
|
||||
bool DataBaseInstructors::isArchived(int id)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getID() == id)
|
||||
return listOfInstructors[i].getArchived();
|
||||
}
|
||||
return false;
|
||||
return dbLMS->selectInstructorArchived(id);
|
||||
}
|
||||
|
||||
QString DataBaseInstructors::generateDefaultNameInstructor()
|
||||
bool DataBaseInstructors::existLogin(QString login)
|
||||
{
|
||||
int numInstructor = 0;
|
||||
QString name;
|
||||
do
|
||||
{
|
||||
name = QStringLiteral("<") + tr("Instructor") + QStringLiteral(" ") + QString::number(++numInstructor) + QStringLiteral(">");
|
||||
}while(checkExistNameInstructor(name));
|
||||
return name;
|
||||
}
|
||||
|
||||
bool DataBaseInstructors::checkExistNameInstructor(QString name)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getName() == name)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QString DataBaseInstructors::generateDefaultLoginInstructor()
|
||||
{
|
||||
int numInstructor = 0;
|
||||
QString login;
|
||||
do
|
||||
{
|
||||
login = QStringLiteral("<I") + QString::number(++numInstructor) + QStringLiteral(">");
|
||||
}while(checkExistLoginInstructor(login));
|
||||
return login;
|
||||
}
|
||||
|
||||
bool DataBaseInstructors::checkExistLoginInstructor(QString login)
|
||||
{
|
||||
//Инструкторы
|
||||
for(int i = 0; i < listOfInstructors.count(); i++)
|
||||
{
|
||||
if(listOfInstructors[i].getLogin() == login)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,8 @@
|
||||
#include <QObject>
|
||||
#include "instructorsAndTrainees_global.h"
|
||||
#include "instructor.h"
|
||||
|
||||
#include "databaselms.h"
|
||||
|
||||
|
||||
class DataBaseInstructors : QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -17,19 +15,12 @@ public:
|
||||
DataBaseInstructors(DataBaseLMS* dbLMS);
|
||||
~DataBaseInstructors();
|
||||
|
||||
void LoadInstructorsPSQL();
|
||||
|
||||
bool AuthorizationInstructor(QString login, QString password);
|
||||
bool deAuthorizationInstructor(QString login);
|
||||
|
||||
QList<Instructor> getListInstructors(){ return listOfInstructors; } //Для загрузки
|
||||
|
||||
QList<Instructor> getListInstructors();
|
||||
Instructor getInstructor(int id);
|
||||
|
||||
QString getNameInstructorByLogin(QString login);
|
||||
|
||||
//QString getAuthorizedInstructorName();
|
||||
|
||||
int newInstructor();
|
||||
int deleteInstructor(int id);
|
||||
int editInstructor(Instructor instructor);
|
||||
@@ -37,19 +28,10 @@ public:
|
||||
bool isAdmin(int id);
|
||||
bool isArchived(int id);
|
||||
|
||||
bool existLogin(QString login);
|
||||
|
||||
private:
|
||||
QString generateDefaultNameInstructor();
|
||||
bool checkExistNameInstructor(QString name);
|
||||
|
||||
QString generateDefaultLoginInstructor();
|
||||
bool checkExistLoginInstructor(QString login);
|
||||
|
||||
private:
|
||||
QList<Instructor> listOfInstructors;
|
||||
|
||||
bool adminMode;
|
||||
|
||||
DataBaseLMS* dbLMS;
|
||||
};
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@ EditorInstructors::EditorInstructors(DataBaseInstructors* db, bool adminMode, QW
|
||||
preparationTreeWidget(ui->treeWidget);
|
||||
setNotLoggedInVisible(true);
|
||||
loadInstructorsFromDB();
|
||||
|
||||
if(adminMode)
|
||||
ui->btnArchive->click();
|
||||
}
|
||||
|
||||
EditorInstructors::~EditorInstructors()
|
||||
@@ -21,9 +24,11 @@ EditorInstructors::~EditorInstructors()
|
||||
|
||||
void EditorInstructors::on_btnNewInstructor_clicked()
|
||||
{
|
||||
int id = dbInstructors->newInstructor();
|
||||
loadInstructorsFromDB();
|
||||
setCurrentInstructor(id);
|
||||
if(int id = dbInstructors->newInstructor())
|
||||
{
|
||||
loadInstructorsFromDB();
|
||||
setCurrentInstructor(id);
|
||||
}
|
||||
}
|
||||
|
||||
void EditorInstructors::on_btnDeleteInstructor_clicked()
|
||||
@@ -36,7 +41,7 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран Инструктор
|
||||
|
||||
int id = treeItemCurrent->text(0).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
|
||||
if(dbInstructors->isAdmin(id))
|
||||
{//Это Админ!
|
||||
@@ -46,8 +51,8 @@ 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)
|
||||
{
|
||||
dbInstructors->deleteInstructor(id);
|
||||
loadInstructorsFromDB();
|
||||
if(dbInstructors->deleteInstructor(id))
|
||||
loadInstructorsFromDB();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,9 +68,11 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран Инструктор
|
||||
|
||||
int id = treeItemCurrent->text(0).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
|
||||
Instructor instructor = dbInstructors->getInstructor(id);
|
||||
if(instructor.getID() == 0)
|
||||
return;
|
||||
|
||||
if(instructor.getArchived())
|
||||
{//Архивный
|
||||
@@ -103,29 +110,45 @@ void EditorInstructors::on_btnEdit_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран Инструктор
|
||||
|
||||
int id = treeItemCurrent->text(0).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
|
||||
DialogEditInstructor dlg(this);
|
||||
dlg.setInstructor(dbInstructors->getInstructor(id));
|
||||
|
||||
switch( dlg.exec() )
|
||||
Instructor instructor = dbInstructors->getInstructor(id);
|
||||
if(instructor.getID() == 0)
|
||||
return;
|
||||
|
||||
dlg.setInstructor(instructor);
|
||||
|
||||
while (true)
|
||||
{
|
||||
case QDialog::Accepted:
|
||||
{
|
||||
if(int id_edit = dbInstructors->editInstructor(dlg.getInstructor()))
|
||||
switch( dlg.exec() )
|
||||
{
|
||||
loadInstructorsFromDB();
|
||||
setCurrentInstructor(id_edit);
|
||||
case QDialog::Accepted:
|
||||
{
|
||||
Instructor instructor_edit = dlg.getInstructor();
|
||||
|
||||
if(int id_edit = dbInstructors->editInstructor(instructor_edit))
|
||||
{//Отредактировано
|
||||
loadInstructorsFromDB();
|
||||
setCurrentInstructor(id_edit);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
dlg.setInstructor(instructor_edit);
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case QDialog::Rejected:
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
}
|
||||
else
|
||||
QMessageBox::critical(this, tr("Editing error!"),
|
||||
tr("An existing instructor name or login has been entered.\nThe changes will not be accepted."));
|
||||
break;
|
||||
}
|
||||
case QDialog::Rejected:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -148,7 +171,7 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран инструктор
|
||||
|
||||
int id = current->text(0).toInt();
|
||||
int id = current->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
|
||||
if(dbInstructors->isArchived(id))
|
||||
{//Архивный
|
||||
@@ -189,7 +212,7 @@ void EditorInstructors::setCurrentInstructor(int id)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
if(item->text(0).toInt() == id)
|
||||
if(item->text(ColumnsTreeInsructors::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
break;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
#include <QTranslator>
|
||||
#include "instructorsview.h"
|
||||
|
||||
InstructorsView::InstructorsView(DataBaseInstructors* db, TypeView type, bool adminMode, QWidget *parent):
|
||||
InstructorsView::InstructorsView(DataBaseInstructors* dbInstructors, TypeView type, bool adminMode, QWidget *parent):
|
||||
CommonView(type, adminMode, parent),
|
||||
dbInstructors(db)
|
||||
dbInstructors(dbInstructors)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -22,30 +22,39 @@ void InstructorsView::preparationTreeWidget(QTreeWidget* tree)
|
||||
|
||||
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
|
||||
|
||||
treeWidget->setColumnWidth(0, 50);
|
||||
treeWidget->setColumnWidth(1, 250);
|
||||
treeWidget->setColumnWidth(2, 100);
|
||||
treeWidget->setColumnWidth(3, 100);
|
||||
treeWidget->setColumnWidth(4, 100);
|
||||
treeWidget->setColumnWidth(5, 80);
|
||||
treeWidget->setColumnWidth(6, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_ID, 50);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Instructor, 250);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Login, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Password, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Administrator, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Archived, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Logged, 80);
|
||||
|
||||
if(typeView == TypeView::onlyView)
|
||||
{//onlyView
|
||||
treeWidget->setColumnHidden(2, true);
|
||||
treeWidget->setColumnHidden(3, true);
|
||||
treeWidget->setColumnHidden(5, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true);
|
||||
//treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Login, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Password, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Administrator, true);
|
||||
}
|
||||
else
|
||||
{//control
|
||||
treeWidget->setColumnHidden(5, true);
|
||||
if(adminMode)
|
||||
{
|
||||
archiveVisible = true;
|
||||
notLoggedInVisible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InstructorsView::loadInstructorsFromDB()
|
||||
{
|
||||
dbInstructors->LoadInstructorsPSQL();
|
||||
|
||||
if(treeWidget == nullptr)
|
||||
return;
|
||||
|
||||
@@ -59,43 +68,46 @@ void InstructorsView::loadInstructorsFromDB()
|
||||
{
|
||||
QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget);
|
||||
|
||||
ItemInstructor->setText(0, QString::number(instructor.getID()));
|
||||
ItemInstructor->setText(1, instructor.getName());
|
||||
ItemInstructor->setText(2, instructor.getLogin());
|
||||
ItemInstructor->setText(3, instructor.getPassword());
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_ID, QString::number(instructor.getID()));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Instructor, instructor.getName());
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Login, instructor.getLogin());
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, instructor.getPassword());
|
||||
|
||||
//Сокрытие пароля
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, QStringLiteral("******"));
|
||||
|
||||
if(instructor.getArchived())
|
||||
{//Архивный
|
||||
ItemInstructor->setText(5, tr("yes"));
|
||||
ItemInstructor->setIcon(1, QIcon(QStringLiteral(":/icons/instructorArchive.png")));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Archived, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/icons/instructorArchive.png")));
|
||||
setItemColorArchive(ItemInstructor);
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
ItemInstructor->setText(5, tr("no"));
|
||||
ItemInstructor->setIcon(1, QIcon(QStringLiteral(":/icons/instructor.png")));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Archived, tr("no"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/icons/instructor.png")));
|
||||
setItemColorNoArchive(ItemInstructor);
|
||||
}
|
||||
|
||||
if(instructor.getIsAdmin())
|
||||
{//Админ
|
||||
ItemInstructor->setText(4, tr("yes"));
|
||||
ItemInstructor->setIcon(1, QIcon(QStringLiteral(":/icons/admin.png")));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Administrator, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/icons/admin.png")));
|
||||
}
|
||||
else
|
||||
{//Не Админ
|
||||
ItemInstructor->setText(4, tr("no"));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Administrator, tr("no"));
|
||||
}
|
||||
|
||||
if(instructor.getLoggedIn())
|
||||
{//Залогинен
|
||||
ItemInstructor->setText(6, tr("yes"));
|
||||
ItemInstructor->setIcon(6, QIcon(QStringLiteral(":/icons/circleGreen.png")));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Logged, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Logged, QIcon(QStringLiteral(":/icons/circleGreen.png")));
|
||||
}
|
||||
else
|
||||
{//Не Залогинен
|
||||
ItemInstructor->setText(6, tr("no"));
|
||||
ItemInstructor->setIcon(6, QIcon(QStringLiteral(":/icons/circleGray.png")));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Logged, tr("no"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Logged, QIcon(QStringLiteral(":/icons/circleGray.png")));
|
||||
}
|
||||
|
||||
//Скрываем архивных (при необходимости)
|
||||
@@ -110,7 +122,7 @@ void InstructorsView::loadInstructorsFromDB()
|
||||
}
|
||||
|
||||
treeWidget->setSortingEnabled(true);
|
||||
treeWidget->sortItems(1, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->sortItems(ColumnsTreeInsructors::clmn_Instructor, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->expandAll();
|
||||
|
||||
if(typeView == TypeView::control)
|
||||
@@ -123,7 +135,7 @@ void InstructorsView::loadInstructorsFromDB()
|
||||
|
||||
void InstructorsView::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders = {tr("ID"), tr("Instructor"), tr("Login"), tr("Password"), tr("Administrator"), tr("Archived"), tr("Logged")};
|
||||
QStringList listHeaders = {tr("Instructor"), tr("Login"), tr("Password"), tr("Administrator"), tr("Archived"), tr("Logged"), tr("ID")};
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,18 @@ class InstructorsView: public CommonView
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
InstructorsView(DataBaseInstructors* db, TypeView type, bool adminMode, QWidget *parent = nullptr);
|
||||
InstructorsView(DataBaseInstructors* dbInstructors, TypeView type, bool adminMode, QWidget *parent = nullptr);
|
||||
|
||||
protected:
|
||||
enum ColumnsTreeInsructors{
|
||||
clmn_Instructor = 0,
|
||||
clmn_Login,
|
||||
clmn_Password,
|
||||
clmn_Administrator,
|
||||
clmn_Archived,
|
||||
clmn_Logged,
|
||||
clmn_ID
|
||||
};
|
||||
|
||||
protected:
|
||||
void preparationTreeWidget(QTreeWidget* tree);
|
||||
|
||||
@@ -66,7 +66,7 @@ void ViewerInstructors::on_btnEditorInstructors_clicked()
|
||||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||||
layout->addWidget(&editorInstructors);
|
||||
dialog->setWindowTitle(tr("Editor of instructors"));
|
||||
dialog->setMinimumSize(1400, 800);
|
||||
dialog->setMinimumSize(1600, 800);
|
||||
dialog->exec();
|
||||
|
||||
loadInstructorsFromDB();
|
||||
|
||||
@@ -7,7 +7,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::InstructorsAndTraineesWidget),
|
||||
adminMode(false),
|
||||
loginInstructorLoggedIn(QStringLiteral(""))
|
||||
loginInstructorLoggedInLocal(QStringLiteral(""))
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
@@ -25,13 +25,13 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||
ui->verticalLayout->addWidget(m_viewerTrainees);
|
||||
ui->verticalLayout->addWidget(m_viewerInstructors);
|
||||
|
||||
m_viewerTrainees->setMinimumSize(1400, 700);
|
||||
m_viewerInstructors->setMinimumSize(1400, 400);
|
||||
m_viewerTrainees->setMinimumSize(1600, 700);
|
||||
m_viewerInstructors->setMinimumSize(1600, 400);
|
||||
}
|
||||
|
||||
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
|
||||
{
|
||||
deAuthorizationInstructor(loginInstructorLoggedIn);
|
||||
deAuthorizationInstructor(loginInstructorLoggedInLocal);
|
||||
|
||||
delete m_viewerInstructors;
|
||||
delete m_viewerTrainees;
|
||||
@@ -57,7 +57,7 @@ bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
|
||||
|
||||
if(dataBaseInstructors->AuthorizationInstructor(login, password))
|
||||
{
|
||||
loginInstructorLoggedIn = login;
|
||||
loginInstructorLoggedInLocal = login;
|
||||
|
||||
if(login == QStringLiteral("admin"))
|
||||
adminMode = true;
|
||||
@@ -82,9 +82,9 @@ bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool InstructorsAndTraineesWidget::authorizationCompleted()
|
||||
bool InstructorsAndTraineesWidget::authorizationIsCompleted()
|
||||
{
|
||||
if(loginInstructorLoggedIn == QStringLiteral(""))
|
||||
if(loginInstructorLoggedInLocal == QStringLiteral(""))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "databaseinstructors.h"
|
||||
#include "viewertrainees.h"
|
||||
#include "viewerinstructors.h"
|
||||
#include "interfacedatabaselms.h"
|
||||
|
||||
namespace Ui {
|
||||
class InstructorsAndTraineesWidget;
|
||||
@@ -23,7 +24,7 @@ public:
|
||||
public:
|
||||
//Авторизация инструктора локальная
|
||||
bool authorizationInstructorLocal(QWidget* parent = nullptr);
|
||||
bool authorizationCompleted();
|
||||
bool authorizationIsCompleted();
|
||||
|
||||
//Авторизация обучаемого на клиенте
|
||||
bool authorizationTrainee(QString login, QString password, QString classroom_name = QStringLiteral(""), QString computer_name = QStringLiteral(""));
|
||||
@@ -45,7 +46,7 @@ private:
|
||||
ViewerInstructors* m_viewerInstructors;
|
||||
|
||||
bool adminMode;
|
||||
QString loginInstructorLoggedIn;
|
||||
QString loginInstructorLoggedInLocal;
|
||||
};
|
||||
|
||||
#endif // INSTRUCTORSANDTRAINEESWIDGET_H
|
||||
|
||||
@@ -27,12 +27,15 @@ void TasksWidget::slot_LanguageChanged(QString language)
|
||||
|
||||
void TasksWidget::viewListTasksForTrainee(QString login)
|
||||
{
|
||||
QStringList listTasks;
|
||||
/*
|
||||
QList<QString> listTasks;
|
||||
QStringList strListTasks;
|
||||
|
||||
listTasks = pDbTrainees->getTasks(login);
|
||||
|
||||
ui->listWidgetTasks->clear();
|
||||
ui->listWidgetTasks->addItems(listTasks);
|
||||
*/
|
||||
}
|
||||
|
||||
void TasksWidget::changeEvent(QEvent *event)
|
||||
|
||||
@@ -2,23 +2,10 @@
|
||||
#include <QApplication>
|
||||
#include <QMessageBox>
|
||||
|
||||
DataBaseTrainees::DataBaseTrainees(DataBaseLMS* dbLMS)
|
||||
DataBaseTrainees::DataBaseTrainees(DataBaseLMS* dbLMS):
|
||||
adminMode(false)
|
||||
{
|
||||
listOfColorGroup.append(QColor(170, 190, 170));
|
||||
listOfColorGroup.append(QColor(180, 180, 220));
|
||||
listOfColorGroup.append(QColor(240, 220, 230));
|
||||
listOfColorGroup.append(QColor(85, 170, 127));
|
||||
listOfColorGroup.append(QColor(170, 115, 120));
|
||||
listOfColorGroup.append(QColor(110, 160, 170));
|
||||
listOfColorGroup.append(QColor(110, 170, 130));
|
||||
listOfColorGroup.append(QColor(170, 170, 120));
|
||||
listOfColorGroup.append(QColor(160, 170, 45));
|
||||
listOfColorGroup.append(QColor(170, 140, 60));
|
||||
listOfColorGroup.append(QColor(200, 200, 200));
|
||||
|
||||
this->dbLMS = dbLMS;
|
||||
|
||||
LoadTraineesGroupsPSQL();
|
||||
}
|
||||
|
||||
DataBaseTrainees::~DataBaseTrainees()
|
||||
@@ -26,430 +13,181 @@ DataBaseTrainees::~DataBaseTrainees()
|
||||
|
||||
}
|
||||
|
||||
void DataBaseTrainees::LoadTraineesGroupsPSQL()
|
||||
void DataBaseTrainees::transactionBegin()
|
||||
{
|
||||
listOfTrainees.clear();
|
||||
listOfGroups.clear();
|
||||
dbLMS->transactionBegin();
|
||||
}
|
||||
|
||||
listOfTrainees = dbLMS->selectAllTrainees();
|
||||
listOfGroups = dbLMS->selectAllGroups();
|
||||
|
||||
QApplication::beep();
|
||||
void DataBaseTrainees::transactionEnd()
|
||||
{
|
||||
dbLMS->transactionEnd();
|
||||
}
|
||||
|
||||
bool DataBaseTrainees::AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
if(! dbLMS->transactionBegin())
|
||||
return false;
|
||||
|
||||
if(int id = dbLMS->selectTraineeID(login, password))
|
||||
{
|
||||
if(listOfTrainees[i].getArchived())
|
||||
continue;
|
||||
|
||||
if(listOfTrainees[i].getLogin() == login && listOfTrainees[i].getPassword() == password)
|
||||
{
|
||||
Trainee trainee = listOfTrainees[i];
|
||||
trainee.setLoggedIn(true);
|
||||
//trainee.setLearnClass(learnClass);
|
||||
//trainee.setComputer(computer);
|
||||
|
||||
int id = dbLMS->updateTrainee(trainee);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
if(dbLMS->updateTraineeLoggedIn(id, true))
|
||||
return dbLMS->transactionEnd();
|
||||
}
|
||||
|
||||
dbLMS->transactionEnd();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataBaseTrainees::deAuthorizationTrainee(QString login)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
if(! dbLMS->transactionBegin())
|
||||
return false;
|
||||
|
||||
if(int id = dbLMS->selectTraineeID(login))
|
||||
{
|
||||
if(listOfTrainees[i].getArchived())
|
||||
continue;
|
||||
|
||||
if(listOfTrainees[i].getLogin() == login)
|
||||
{
|
||||
Trainee trainee = listOfTrainees[i];
|
||||
trainee.setLoggedIn(false);
|
||||
//trainee.setLearnClass(QStringLiteral(""));
|
||||
//trainee.setComputer(QStringLiteral(""));
|
||||
|
||||
int id = dbLMS->updateTrainee(trainee);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
if(dbLMS->updateTraineeLoggedIn(id, false))
|
||||
return dbLMS->transactionEnd();
|
||||
}
|
||||
|
||||
dbLMS->transactionEnd();
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
void DataBaseTrainees::setTasks(QString login, QStringList tasks)
|
||||
QList<Task> DataBaseTrainees::getTasks(int id)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getLogin() == login)
|
||||
listOfTrainees[i].setTasks(tasks);
|
||||
}
|
||||
}*/
|
||||
|
||||
QStringList DataBaseTrainees::getTasks(QString login)
|
||||
{
|
||||
QStringList tasksStrList;
|
||||
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getLogin() == login)
|
||||
{
|
||||
QList<Task> tasks = listOfTrainees[i].getTasks();
|
||||
for(Task task: tasks)
|
||||
{
|
||||
tasksStrList.append(task.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tasksStrList;
|
||||
return dbLMS->selectTasksOfTrainee(id);
|
||||
}
|
||||
|
||||
QString DataBaseTrainees::getNameTraineeOnComputer(QString computer_name)
|
||||
{
|
||||
/*
|
||||
for(Trainee trainee : listOfTrainees)
|
||||
{
|
||||
if(trainee.getComputer().getName() == computer_name)
|
||||
return trainee.getName();
|
||||
}
|
||||
}*/
|
||||
return QString(QStringLiteral(""));
|
||||
}
|
||||
|
||||
Trainee DataBaseTrainees::getTraineeOnComputer(QString computer_name)
|
||||
{
|
||||
/*
|
||||
for(Trainee trainee : listOfTrainees)
|
||||
{
|
||||
if(trainee.getComputer().getName() == computer_name)
|
||||
return trainee;
|
||||
}
|
||||
}*/
|
||||
return Trainee();
|
||||
}
|
||||
|
||||
QString DataBaseTrainees::getNameTraineeByLogin(QString login)
|
||||
{
|
||||
/*
|
||||
for(Trainee trainee : listOfTrainees)
|
||||
{
|
||||
if(trainee.getLogin() == login)
|
||||
return trainee.getName();
|
||||
}
|
||||
}*/
|
||||
return QString(QStringLiteral(""));
|
||||
}
|
||||
/*
|
||||
QColor DataBaseTrainees::getColorGroupByLogin(QString login)
|
||||
{
|
||||
QString nameTrainee = getNameTraineeByLogin(login);
|
||||
Trainee trainee = getTrainee(nameTrainee);
|
||||
QString nameGroup = trainee.getGroup();
|
||||
Group group = getGroup(nameGroup);
|
||||
return getColorGroup(group.getColor());
|
||||
}*/
|
||||
|
||||
QList<Trainee> DataBaseTrainees::getListTraineesInGroup(int id)
|
||||
{
|
||||
QList<Trainee> listTrainees;
|
||||
|
||||
/*
|
||||
for(Trainee trainee : listOfTrainees)
|
||||
{
|
||||
if(trainee.getGroup().getID() == id)
|
||||
listTrainees.append(trainee);
|
||||
}
|
||||
*/
|
||||
|
||||
return listTrainees;
|
||||
}
|
||||
|
||||
QList<Group> DataBaseTrainees::getListGroups()
|
||||
{
|
||||
return listOfGroups;
|
||||
return dbLMS->selectAllGroups();
|
||||
}
|
||||
/*
|
||||
QColor DataBaseTrainees::getColorGroup(Group::ColorGroup numColor)
|
||||
{
|
||||
if(numColor > listOfColorGroup.count() - 1)
|
||||
return listOfColorGroup.at(Group::ColorGroup::colorAther);
|
||||
|
||||
return listOfColorGroup.at(numColor);
|
||||
}*/
|
||||
QList<Trainee> DataBaseTrainees::getListTrainees()
|
||||
{
|
||||
return dbLMS->selectAllTrainees();
|
||||
}
|
||||
|
||||
Trainee DataBaseTrainees::getTrainee(int id)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getID() == id)
|
||||
return listOfTrainees[i];
|
||||
}
|
||||
return Trainee();
|
||||
return dbLMS->selectTrainee(id);
|
||||
}
|
||||
|
||||
Group DataBaseTrainees::getGroup(int id)
|
||||
{
|
||||
//Группы
|
||||
for(int i = 0; i < listOfGroups.count(); i++)
|
||||
{
|
||||
if(listOfGroups[i].getID() == id)
|
||||
return listOfGroups[i];
|
||||
}
|
||||
return Group();
|
||||
return dbLMS->selectGroup(id);
|
||||
}
|
||||
|
||||
int DataBaseTrainees::newGroup()
|
||||
{
|
||||
Group group;
|
||||
group.setName(generateDefaultNameGroup());
|
||||
|
||||
int id = dbLMS->insertGroup(group);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return id;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
return dbLMS->insertGroup();
|
||||
}
|
||||
|
||||
int DataBaseTrainees::deleteGroup(int id)
|
||||
{
|
||||
//Группы
|
||||
for(int i = 0; i < listOfGroups.count(); i++)
|
||||
{
|
||||
if(listOfGroups[i].getID() == id)
|
||||
{
|
||||
int id_del = dbLMS->deleteGroup(id);
|
||||
|
||||
if(id_del)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return id_del;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return dbLMS->deleteGroup(id);
|
||||
}
|
||||
|
||||
int DataBaseTrainees::editGroup(Group group)
|
||||
{
|
||||
//Группы
|
||||
for(int i = 0; i < listOfGroups.count(); i++)
|
||||
//Проверка дублирования имени
|
||||
QList<Group> listGroups = dbLMS->selectAllGroups();
|
||||
for(Group exist_group : listGroups)
|
||||
{
|
||||
if(listOfGroups[i].getID() == group.getID())
|
||||
{
|
||||
if(!checkExistNameGroup(group.getName()) || group.getName() == listOfGroups[i].getName())
|
||||
{
|
||||
int id = dbLMS->updateGroup(group);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return id;
|
||||
}
|
||||
else
|
||||
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;
|
||||
}
|
||||
if(group.getName() == exist_group.getName() && group.getID() != exist_group.getID())
|
||||
{//Имя уже существует
|
||||
QMessageBox::critical(nullptr, tr("Editing error!"),
|
||||
tr("An existing group name has been entered."));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
return dbLMS->updateGroup(group);
|
||||
}
|
||||
|
||||
int DataBaseTrainees::newTrainee(int id_group)
|
||||
{
|
||||
Trainee trainee;
|
||||
Group group;
|
||||
group.setID(id_group);
|
||||
trainee.setGroup(group);
|
||||
trainee.setName(generateDefaultNameTrainee());
|
||||
trainee.setLogin(generateDefaultLoginTrainee());
|
||||
trainee.setPassword(QStringLiteral("<password>"));
|
||||
trainee.setArchived(false);
|
||||
trainee.setLoggedIn(false);
|
||||
|
||||
int id = dbLMS->insertTrainee(trainee);
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return id;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
return dbLMS->insertTrainee(id_group);
|
||||
}
|
||||
|
||||
int DataBaseTrainees::deleteTrainee(int id)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getID() == id)
|
||||
{
|
||||
int id_del = dbLMS->deleteTrainee(id);
|
||||
|
||||
if(id_del)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return id_del;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return dbLMS->deleteTrainee(id);
|
||||
}
|
||||
|
||||
int DataBaseTrainees::editTrainee(Trainee trainee)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
//Проверка дублирования логина и имени
|
||||
QList<Trainee> listTrainees = dbLMS->selectAllTrainees();
|
||||
for(Trainee exist_trainee : listTrainees)
|
||||
{
|
||||
if(listOfTrainees[i].getID() == trainee.getID())
|
||||
{
|
||||
if( (!checkExistNameTrainee(trainee.getName()) || trainee.getName() == listOfTrainees[i].getName()) &&
|
||||
(!checkExistLoginTrainee(trainee.getLogin()) || trainee.getLogin() == listOfTrainees[i].getLogin()) )
|
||||
{
|
||||
int id = dbLMS->updateTrainee(trainee);
|
||||
if(trainee.getLogin() == exist_trainee.getLogin() && trainee.getID() != exist_trainee.getID())
|
||||
{//Логин уже существует!
|
||||
QMessageBox::critical(nullptr, tr("Editing error!"),
|
||||
tr("An existing trainee login has been entered.\nThe changes will not be accepted."));
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(id)
|
||||
{
|
||||
LoadTraineesGroupsPSQL();
|
||||
return id;
|
||||
}
|
||||
else
|
||||
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;
|
||||
}
|
||||
if(trainee.getName() == exist_trainee.getName() && trainee.getID() != exist_trainee.getID())
|
||||
{//Имя уже существует
|
||||
QMessageBox::warning(nullptr, tr("Editing warning!"),
|
||||
tr("An existing trainee name has been entered."));
|
||||
//return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
return dbLMS->updateTrainee(trainee);
|
||||
}
|
||||
|
||||
bool DataBaseTrainees::isArchived(int id)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getID()== id)
|
||||
return listOfTrainees[i].getArchived();
|
||||
}
|
||||
return false;
|
||||
return dbLMS->selectTraineeArchived(id);
|
||||
}
|
||||
|
||||
QString DataBaseTrainees::generateDefaultNameGroup()
|
||||
{
|
||||
int numGroup = 0;
|
||||
QString name;
|
||||
do
|
||||
{
|
||||
name = tr("Group") + QStringLiteral(" ") + QString::number(++numGroup);
|
||||
}while(checkExistNameGroup(name));
|
||||
return name;
|
||||
}
|
||||
|
||||
QString DataBaseTrainees::generateDefaultNameTrainee()
|
||||
{
|
||||
int numTrainee = 0;
|
||||
QString name;
|
||||
do
|
||||
{
|
||||
name = QStringLiteral("<") + tr("Trainee") + QStringLiteral(" ") + QString::number(++numTrainee) + QStringLiteral(">");
|
||||
}while(checkExistNameTrainee(name));
|
||||
return name;
|
||||
}
|
||||
|
||||
bool DataBaseTrainees::checkExistNameGroup(QString name)
|
||||
{
|
||||
//Группы
|
||||
for(int i = 0; i < listOfGroups.count(); i++)
|
||||
{
|
||||
if(listOfGroups[i].getName() == name)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataBaseTrainees::checkExistNameTrainee(QString name)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getName() == name)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QString DataBaseTrainees::generateDefaultLoginTrainee()
|
||||
{
|
||||
int numTrainee = 0;
|
||||
QString login;
|
||||
do
|
||||
{
|
||||
login = QStringLiteral("<O") + QString::number(++numTrainee) + QStringLiteral(">");
|
||||
}while(checkExistLoginTrainee(login));
|
||||
return login;
|
||||
}
|
||||
|
||||
bool DataBaseTrainees::checkExistLoginTrainee(QString login)
|
||||
{
|
||||
//Обучаемые
|
||||
for(int i = 0; i < listOfTrainees.count(); i++)
|
||||
{
|
||||
if(listOfTrainees[i].getLogin() == login)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
Group::ColorGroup DataBaseTrainees::generateDefaultColorGroup()
|
||||
{
|
||||
for(int i = 0; i < Group::ColorGroup::countColor; i++)
|
||||
{
|
||||
Group::ColorGroup color = (Group::ColorGroup)i;
|
||||
if(!checkExistColorGroup(color))
|
||||
return color;
|
||||
}
|
||||
return Group::ColorGroup::colorAther;
|
||||
}*/
|
||||
/*
|
||||
bool DataBaseTrainees::checkExistColorGroup(Group::ColorGroup color)
|
||||
{
|
||||
//Группы
|
||||
for(int i = 0; i < listOfGroups.count(); i++)
|
||||
{
|
||||
if(listOfGroups[i].getColor() == color)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}*/
|
||||
|
||||
@@ -19,25 +19,28 @@ public:
|
||||
DataBaseTrainees(DataBaseLMS* dbLMS);
|
||||
~DataBaseTrainees();
|
||||
|
||||
void LoadTraineesGroupsPSQL();
|
||||
//void LoadTraineesGroupsPSQL();
|
||||
|
||||
void transactionBegin();
|
||||
void transactionEnd();
|
||||
|
||||
bool AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name);
|
||||
bool deAuthorizationTrainee(QString login);
|
||||
|
||||
//void setTasks(QString login, QStringList tasks);
|
||||
QStringList getTasks(QString login);
|
||||
QList<Task> getTasks(int id);
|
||||
|
||||
QString getNameTraineeOnComputer(QString computer_name);
|
||||
Trainee getTraineeOnComputer(QString computer_name);
|
||||
|
||||
QString getNameTraineeByLogin(QString login);
|
||||
//QColor getColorGroupByLogin(QString login);
|
||||
|
||||
QList<Trainee> getListTraineesInGroup(int id);
|
||||
QList<Group> getListGroups();
|
||||
QList<Trainee> getListTrainees();
|
||||
|
||||
Trainee getTrainee(int id);
|
||||
Group getGroup(int id);
|
||||
Trainee getTrainee(int trainee_id);
|
||||
Group getGroup(int group_id);
|
||||
|
||||
int newGroup();
|
||||
int deleteGroup(int id);
|
||||
@@ -50,20 +53,7 @@ public:
|
||||
bool isArchived(int id);
|
||||
|
||||
private:
|
||||
QString generateDefaultNameGroup();
|
||||
QString generateDefaultNameTrainee();
|
||||
bool checkExistNameGroup(QString name);
|
||||
bool checkExistNameTrainee(QString name);
|
||||
|
||||
QString generateDefaultLoginTrainee();
|
||||
bool checkExistLoginTrainee(QString login);
|
||||
|
||||
private:
|
||||
QList<Trainee> listOfTrainees;
|
||||
QList<Group> listOfGroups;
|
||||
|
||||
QList<QColor> listOfColorGroup;
|
||||
|
||||
bool adminMode;
|
||||
DataBaseLMS* dbLMS;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,6 +13,9 @@ EditorTrainees::EditorTrainees(DataBaseTrainees* db, bool adminMode, QWidget *pa
|
||||
preparationTreeWidget(ui->treeWidget);
|
||||
setNotLoggedInVisible(true);
|
||||
loadTraineesFromDB();
|
||||
|
||||
if(adminMode)
|
||||
ui->btnArchive->click();
|
||||
}
|
||||
|
||||
EditorTrainees::~EditorTrainees()
|
||||
@@ -22,9 +25,11 @@ EditorTrainees::~EditorTrainees()
|
||||
|
||||
void EditorTrainees::on_btnNewGroup_clicked()
|
||||
{
|
||||
int id = dbTrainees->newGroup();
|
||||
loadTraineesFromDB();
|
||||
setCurrentGroup(id);
|
||||
if(int id = dbTrainees->newGroup())
|
||||
{
|
||||
loadTraineesFromDB();
|
||||
setCurrentGroup(id);
|
||||
}
|
||||
}
|
||||
|
||||
void EditorTrainees::on_btnDeleteGroup_clicked()
|
||||
@@ -36,7 +41,7 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
|
||||
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана группа
|
||||
int id_group = treeItemCurrent->text(0).toInt();
|
||||
int id_group = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
if(dbTrainees->getListTraineesInGroup(id_group).count() > 0)
|
||||
{
|
||||
@@ -67,7 +72,7 @@ void EditorTrainees::on_btnNewTrainee_clicked()
|
||||
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана группа. Можно добавить Обучаемого
|
||||
int id_group = treeItemCurrent->text(0).toInt();
|
||||
int id_group = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
if(int id = dbTrainees->newTrainee(id_group))
|
||||
{
|
||||
loadTraineesFromDB();
|
||||
@@ -91,8 +96,8 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
|
||||
if(treeItemParent != nullptr)
|
||||
{//Выбран обучаемый
|
||||
|
||||
int id_trainee = treeItemCurrent->text(0).toInt();
|
||||
int id_group = treeItemParent->text(0).toInt();
|
||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
int id_group = treeItemParent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
{
|
||||
@@ -120,9 +125,11 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
||||
if(treeItemParent != nullptr)
|
||||
{//Выбран обучаемый
|
||||
|
||||
int id_trainee = treeItemCurrent->text(0).toInt();
|
||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
Trainee trainee = dbTrainees->getTrainee(id_trainee);
|
||||
if(trainee.getID() == 0)
|
||||
return;
|
||||
|
||||
if(trainee.getArchived())
|
||||
{//Архивный
|
||||
@@ -168,61 +175,89 @@ void EditorTrainees::on_btnEdit_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана группа
|
||||
|
||||
int id_group = treeItemCurrent->text(0).toInt();
|
||||
int id_group = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
DialogEditGroup dlg(this);
|
||||
dlg.setGroup(dbTrainees->getGroup(id_group));
|
||||
|
||||
switch( dlg.exec() )
|
||||
Group group = dbTrainees->getGroup(id_group);
|
||||
if(group.getID() == 0)
|
||||
return;
|
||||
|
||||
dlg.setGroup(group);
|
||||
|
||||
while (true)
|
||||
{
|
||||
case QDialog::Accepted:
|
||||
{
|
||||
if(int id = dbTrainees->editGroup(dlg.getGroup()))
|
||||
{//Отредактировано
|
||||
loadTraineesFromDB();
|
||||
setCurrentGroup(id);
|
||||
}
|
||||
else
|
||||
switch( dlg.exec() )
|
||||
{
|
||||
//Ошибка редактирования
|
||||
}
|
||||
case QDialog::Accepted:
|
||||
{
|
||||
Group group_edit = dlg.getGroup();
|
||||
|
||||
break;
|
||||
}
|
||||
case QDialog::Rejected:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
if(int id = dbTrainees->editGroup(group_edit))
|
||||
{//Отредактировано
|
||||
loadTraineesFromDB();
|
||||
setCurrentGroup(id);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
dlg.setGroup(group_edit);
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case QDialog::Rejected:
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{//Выбран обучаемый
|
||||
|
||||
int id_trainee = treeItemCurrent->text(0).toInt();
|
||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
DialogEditTrainee dlg(this);
|
||||
dlg.setTrainee(dbTrainees->getTrainee(id_trainee));
|
||||
|
||||
switch( dlg.exec() )
|
||||
Trainee trainee = dbTrainees->getTrainee(id_trainee);
|
||||
if(trainee.getID() == 0)
|
||||
return;
|
||||
|
||||
dlg.setTrainee(trainee);
|
||||
|
||||
while (true)
|
||||
{
|
||||
case QDialog::Accepted:
|
||||
switch( dlg.exec() )
|
||||
{
|
||||
if(int id = dbTrainees->editTrainee(dlg.getTrainee()))
|
||||
{//Отредактировано
|
||||
loadTraineesFromDB();
|
||||
setCurrentTrainee(id);
|
||||
}
|
||||
else
|
||||
case QDialog::Accepted:
|
||||
{
|
||||
//Ошибка редактирования
|
||||
}
|
||||
Trainee trainee_edit = dlg.getTrainee();
|
||||
|
||||
if(int id = dbTrainees->editTrainee(trainee_edit))
|
||||
{//Отредактировано
|
||||
loadTraineesFromDB();
|
||||
setCurrentTrainee(id);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
dlg.setTrainee(trainee_edit);
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case QDialog::Rejected:
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
}
|
||||
case QDialog::Rejected:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,7 +279,7 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
QTreeWidgetItem *treeItemParent = current->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана группа
|
||||
int id_group = current->text(0).toInt();
|
||||
int id_group = current->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
if(adminMode)
|
||||
{
|
||||
@@ -276,7 +311,7 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
}
|
||||
else
|
||||
{//Выбран обучаемый
|
||||
int id_trainee = current->text(0).toInt();
|
||||
int id_trainee = current->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
ui->btnNewGroup->setEnabled(false);
|
||||
ui->btnDeleteGroup->setEnabled(false);
|
||||
@@ -310,7 +345,7 @@ void EditorTrainees::setCurrentGroup(int id)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
if(item->text(0).toInt() == id)
|
||||
if(item->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
break;
|
||||
@@ -329,7 +364,7 @@ void EditorTrainees::setCurrentTrainee(int id)
|
||||
{
|
||||
QTreeWidgetItem * itemChild = item->child(j);
|
||||
if(itemChild != nullptr)
|
||||
if(itemChild->text(0).toInt() == id)
|
||||
if(itemChild->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(itemChild);
|
||||
break;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include <QHeaderView>
|
||||
#include "traineesview.h"
|
||||
|
||||
TraineesView::TraineesView(DataBaseTrainees* db, TypeView type, bool adminMode, QWidget *parent):
|
||||
TraineesView::TraineesView(DataBaseTrainees* dbTrainees, TypeView type, bool adminMode, QWidget *parent):
|
||||
CommonView(type, adminMode, parent),
|
||||
dbTrainees(db)
|
||||
dbTrainees(dbTrainees)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -21,32 +21,52 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
|
||||
|
||||
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
|
||||
|
||||
treeWidget->setColumnWidth(0, 80);
|
||||
treeWidget->setColumnWidth(1, 250);
|
||||
treeWidget->setColumnWidth(2, 100);
|
||||
treeWidget->setColumnWidth(3, 100);
|
||||
treeWidget->setColumnWidth(4, 130);
|
||||
treeWidget->setColumnWidth(5, 130);
|
||||
treeWidget->setColumnWidth(6, 130);
|
||||
treeWidget->setColumnWidth(7, 80);
|
||||
treeWidget->setColumnWidth(8, 80);
|
||||
treeWidget->setColumnWidth(9, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 200);
|
||||
|
||||
|
||||
if(typeView == TypeView::onlyView)
|
||||
{//onlyView
|
||||
treeWidget->setColumnHidden(2, true);
|
||||
treeWidget->setColumnHidden(3, true);
|
||||
treeWidget->setColumnHidden(7, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
||||
//treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Login, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
||||
|
||||
archiveVisible = false;
|
||||
notLoggedInVisible = true;
|
||||
}
|
||||
else
|
||||
{//control
|
||||
treeWidget->setColumnHidden(7, true);
|
||||
if(adminMode)
|
||||
{
|
||||
archiveVisible = true;
|
||||
notLoggedInVisible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TraineesView::loadTraineesFromDB()
|
||||
{
|
||||
dbTrainees->LoadTraineesGroupsPSQL();
|
||||
QList <Group> listGroups;
|
||||
QList <Trainee> listTrainees;
|
||||
dbTrainees->transactionBegin();
|
||||
listGroups = dbTrainees->getListGroups();
|
||||
listTrainees = dbTrainees->getListTrainees();
|
||||
dbTrainees->transactionEnd();
|
||||
|
||||
if(treeWidget == nullptr)
|
||||
return;
|
||||
@@ -54,52 +74,56 @@ void TraineesView::loadTraineesFromDB()
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
for(Group group : dbTrainees->getListGroups())
|
||||
for(Group group : listGroups)
|
||||
{
|
||||
//Группа
|
||||
QTreeWidgetItem *ItemGroup = new QTreeWidgetItem(treeWidget);
|
||||
ItemGroup->setText(0, QString::number(group.getID()));
|
||||
ItemGroup->setText(1, group.getName());
|
||||
ItemGroup->setIcon(1, QIcon(QStringLiteral(":/icons/group.png")));
|
||||
ItemGroup->setText(ColumnsTreeTrainees::clmn_ID, QString::number(group.getID()));
|
||||
ItemGroup->setText(ColumnsTreeTrainees::clmn_Trainee, group.getName());
|
||||
ItemGroup->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/group.png")));
|
||||
setItemColor(ItemGroup, QColor(170, 190, 170));
|
||||
|
||||
//Обучаемые
|
||||
QList<Trainee> listTrainees;
|
||||
listTrainees = dbTrainees->getListTraineesInGroup(group.getID());
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getGroup().getID() != group.getID())
|
||||
continue;
|
||||
|
||||
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
|
||||
|
||||
ItemTrainee->setText(0, QString::number(trainee.getID()));
|
||||
ItemTrainee->setText(1, trainee.getName());
|
||||
ItemTrainee->setText(2, trainee.getLogin());
|
||||
ItemTrainee->setText(3, trainee.getPassword());
|
||||
ItemTrainee->setText(4, trainee.getComputer().getClassroom().getName());
|
||||
ItemTrainee->setText(5, trainee.getComputer().getName());
|
||||
ItemTrainee->setText(6, trainee.getComputer().getIpAddress());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_ID, QString::number(trainee.getID()));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Trainee, trainee.getName());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Login, trainee.getLogin());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, trainee.getPassword());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Class, trainee.getComputer().getClassroom().getName());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Computer, trainee.getComputer().getName());
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_IP_address, trainee.getComputer().getIpAddress());
|
||||
|
||||
//Сокрытие пароля
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******"));
|
||||
|
||||
if(trainee.getArchived())
|
||||
{//Архивный
|
||||
ItemTrainee->setText(7, tr("yes"));
|
||||
ItemTrainee->setIcon(1, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("yes"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/traineeArchive.png")));
|
||||
setItemColorArchive(ItemTrainee);
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
ItemTrainee->setText(7, tr("no"));
|
||||
ItemTrainee->setIcon(1, QIcon(QStringLiteral(":/icons/trainee.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("no"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/icons/trainee.png")));
|
||||
setItemColorNoArchive(ItemTrainee);
|
||||
}
|
||||
|
||||
if(trainee.getLoggedIn())
|
||||
{//Залогинен
|
||||
ItemTrainee->setText(8, tr("yes"));
|
||||
ItemTrainee->setIcon(8, QIcon(QStringLiteral(":/icons/circleGreen.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Logged, tr("yes"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/icons/circleGreen.png")));
|
||||
}
|
||||
else
|
||||
{//Не Залогинен
|
||||
ItemTrainee->setText(8, tr("no"));
|
||||
ItemTrainee->setIcon(8, QIcon(QStringLiteral(":/icons/circleGray.png")));
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Logged, tr("no"));
|
||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/icons/circleGray.png")));
|
||||
}
|
||||
|
||||
QString tasksStr;
|
||||
@@ -107,7 +131,7 @@ void TraineesView::loadTraineesFromDB()
|
||||
{
|
||||
tasksStr += task.getName() + QStringLiteral("; ");
|
||||
}
|
||||
ItemTrainee->setText(9, tasksStr);
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Tasks, tasksStr);
|
||||
|
||||
ItemGroup->addChild(ItemTrainee);
|
||||
|
||||
@@ -124,7 +148,7 @@ void TraineesView::loadTraineesFromDB()
|
||||
}
|
||||
|
||||
treeWidget->setSortingEnabled(true);
|
||||
treeWidget->sortItems(1, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->sortItems(ColumnsTreeTrainees::clmn_Trainee, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->expandAll();
|
||||
|
||||
if(typeView == TypeView::control)
|
||||
@@ -137,6 +161,6 @@ void TraineesView::loadTraineesFromDB()
|
||||
|
||||
void TraineesView::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders = {tr("ID"), tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), 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"), tr("ID")};
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,21 @@ class TraineesView: public CommonView
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TraineesView(DataBaseTrainees* db, TypeView type, bool adminMode, QWidget *parent = nullptr);
|
||||
TraineesView(DataBaseTrainees* dbTrainees, TypeView type, bool adminMode, QWidget *parent = nullptr);
|
||||
|
||||
protected:
|
||||
enum ColumnsTreeTrainees{
|
||||
clmn_Trainee = 0,
|
||||
clmn_Login,
|
||||
clmn_Password,
|
||||
clmn_Class,
|
||||
clmn_Computer,
|
||||
clmn_IP_address,
|
||||
clmn_Archived,
|
||||
clmn_Logged,
|
||||
clmn_Tasks,
|
||||
clmn_ID
|
||||
};
|
||||
|
||||
protected:
|
||||
void preparationTreeWidget(QTreeWidget* tree);
|
||||
|
||||
@@ -34,7 +34,7 @@ void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column
|
||||
{
|
||||
if(item->childCount() == 0)
|
||||
{//Выбран обучаемый
|
||||
QString login = item->text(2);
|
||||
QString login = item->text(ColumnsTreeTrainees::clmn_Login);
|
||||
Q_EMIT signal_traineeSelected(login);
|
||||
}
|
||||
}
|
||||
@@ -47,7 +47,7 @@ void ViewerTrainees::slot_tabMessengerChanged(QString login)
|
||||
|
||||
for (int j = 0; j < countChild; j++)
|
||||
{//Проход по обучаемым
|
||||
QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(2);
|
||||
QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(ColumnsTreeTrainees::clmn_Login);
|
||||
if(loginChild == login)
|
||||
{
|
||||
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j));
|
||||
@@ -83,7 +83,7 @@ void ViewerTrainees::on_btnEditorTrainees_clicked()
|
||||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||||
layout->addWidget(&editorTraineesGroups);
|
||||
dialog->setWindowTitle(tr("Editor of trainees"));
|
||||
dialog->setMinimumSize(1400, 800);
|
||||
dialog->setMinimumSize(1600, 800);
|
||||
dialog->exec();
|
||||
|
||||
loadTraineesFromDB();
|
||||
|
||||
@@ -16,6 +16,8 @@ add_library(DataBaseLMS SHARED
|
||||
DataBaseLMS_global.h
|
||||
databaselms.cpp
|
||||
databaselms.h
|
||||
interfacedatabaselms.cpp
|
||||
interfacedatabaselms.h
|
||||
basicentity.cpp
|
||||
basicentity.h
|
||||
user.cpp
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-06T16:05:43. -->
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-13T09:53:44. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
#include <QMessageBox>
|
||||
|
||||
DataBaseLMS::DataBaseLMS():
|
||||
db(nullptr)
|
||||
db(nullptr),
|
||||
transactionBegined(false)
|
||||
{
|
||||
createConnection();
|
||||
}
|
||||
@@ -35,14 +36,40 @@ bool DataBaseLMS::createConnection()
|
||||
|
||||
void DataBaseLMS::deleteConnection()
|
||||
{
|
||||
if(transactionBegined)
|
||||
QSqlDatabase::database().rollback();
|
||||
|
||||
if(db != nullptr)
|
||||
{
|
||||
if(db->isOpen())
|
||||
db->close();
|
||||
|
||||
delete db;
|
||||
db = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
bool DataBaseLMS::transactionBegin()
|
||||
{
|
||||
if(transactionBegined)
|
||||
QSqlDatabase::database().rollback();
|
||||
|
||||
transactionBegined = true;
|
||||
|
||||
return QSqlDatabase::database().transaction();
|
||||
}
|
||||
|
||||
bool DataBaseLMS::transactionEnd()
|
||||
{
|
||||
if(transactionBegined)
|
||||
{
|
||||
transactionBegined = false;
|
||||
|
||||
return QSqlDatabase::database().commit();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QList<Instructor> DataBaseLMS::selectAllInstructors()
|
||||
{
|
||||
QList<Instructor> listInstructors;
|
||||
@@ -51,10 +78,11 @@ QList<Instructor> DataBaseLMS::selectAllInstructors()
|
||||
"FROM public.instructors "
|
||||
"ORDER BY instructor_id ASC");
|
||||
|
||||
QSqlQuery query(*db);
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr);
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -89,10 +117,11 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
|
||||
"LEFT OUTER JOIN public.classrooms ON classrooms.classroom_id = computers.classroom_computer "
|
||||
"ORDER BY groups.name, trainees.name ASC");
|
||||
|
||||
QSqlQuery query(*db);
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr);
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -131,10 +160,11 @@ QList<Group> DataBaseLMS::selectAllGroups()
|
||||
"FROM public.groups "
|
||||
"ORDER BY group_id ASC");
|
||||
|
||||
QSqlQuery query(*db);
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr);
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -151,10 +181,162 @@ QList<Group> DataBaseLMS::selectAllGroups()
|
||||
return listGroups;
|
||||
}
|
||||
|
||||
Instructor DataBaseLMS::selectInstructor(int id_instructor)
|
||||
{
|
||||
Instructor instructor;
|
||||
|
||||
QString queryStr = QString("SELECT instructor_id, name, login, password, is_admin, archived, logged_in "
|
||||
"FROM public.instructors "
|
||||
"WHERE instructors.instructor_id = %1 ").arg(
|
||||
id_instructor);
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (query.first())
|
||||
{//Инструктор
|
||||
instructor.setID(query.value(0).toInt());
|
||||
instructor.setName(query.value(1).toString());
|
||||
instructor.setLogin(query.value(2).toString());
|
||||
instructor.setPassword(query.value(3).toString());
|
||||
instructor.setIsAdmin(query.value(4).toBool());
|
||||
instructor.setArchived(query.value(5).toBool());
|
||||
instructor.setLoggedIn(query.value(6).toBool());
|
||||
}
|
||||
}
|
||||
|
||||
return instructor;
|
||||
}
|
||||
|
||||
int DataBaseLMS::selectInstructorID(QString login, QString password)
|
||||
{
|
||||
QString queryStr;
|
||||
|
||||
if(password != QStringLiteral(""))
|
||||
{
|
||||
queryStr = QString("SELECT instructors.instructor_id "
|
||||
"FROM public.instructors "
|
||||
"WHERE login = '%1' AND password = '%2' ").arg(
|
||||
login,
|
||||
password );
|
||||
}
|
||||
else
|
||||
{
|
||||
queryStr = QString("SELECT instructors.instructor_id "
|
||||
"FROM public.instructors "
|
||||
"WHERE login = '%1' ").arg(
|
||||
login );
|
||||
}
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor)
|
||||
{
|
||||
QString queryStr = QString("SELECT instructors.is_admin "
|
||||
"FROM public.instructors "
|
||||
"WHERE instructor_id = %1 ").arg(
|
||||
id_instructor );
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.next())
|
||||
return query.value(0).toBool();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataBaseLMS::selectInstructorLoggedIn(int id_instructor)
|
||||
{
|
||||
QString queryStr = QString("SELECT instructors.logged_in "
|
||||
"FROM public.instructors "
|
||||
"WHERE instructor_id = %1 ").arg(
|
||||
id_instructor );
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.next())
|
||||
return query.value(0).toBool();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataBaseLMS::selectInstructorArchived(int id_instructor)
|
||||
{
|
||||
QString queryStr = QString("SELECT instructors.archived "
|
||||
"FROM public.instructors "
|
||||
"WHERE instructor_id = %1 ").arg(
|
||||
id_instructor );
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.next())
|
||||
return query.value(0).toBool();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateInstructorLoggedIn(int id_instructor, bool loggedIn)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.instructors "
|
||||
"SET logged_in = %1 "
|
||||
"WHERE instructor_id = %2 "
|
||||
"RETURNING instructors.instructor_id").arg(
|
||||
loggedIn ? "true" : "false",
|
||||
QString::number(id_instructor) );
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateInstructorArchived(int id_instructor, bool archived)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.instructors "
|
||||
"SET archived = %1 "
|
||||
"WHERE instructor_id = %2 "
|
||||
"RETURNING instructors.instructor_id").arg(
|
||||
archived ? "true" : "false",
|
||||
QString::number(id_instructor) );
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::insertInstructor()
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.instructors "
|
||||
"DEFAULT VALUES "
|
||||
"RETURNING instructor_id");
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::insertInstructor(Instructor instructor)
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived, logged_in) "
|
||||
"VALUES ('%1', '%2', '%3', %4, %5, %6) RETURNING instructor_id").arg(
|
||||
"VALUES ('%1', '%2', '%3', %4, %5, %6) "
|
||||
"RETURNING instructor_id").arg(
|
||||
instructor.getName(),
|
||||
instructor.getLogin(),
|
||||
instructor.getPassword(),
|
||||
@@ -162,21 +344,25 @@ int DataBaseLMS::insertInstructor(Instructor instructor)
|
||||
instructor.getArchived() ? "true" : "false",
|
||||
instructor.getLoggedIn() ? "true" : "false");
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::deleteInstructor(int instructor_id)
|
||||
int DataBaseLMS::deleteInstructor(int id_instructor)
|
||||
{
|
||||
QString queryStr = QString("DELETE FROM public.instructors WHERE instructor_id = %1 RETURNING instructors.instructor_id").arg(QString::number(instructor_id));
|
||||
QString queryStr = QString("DELETE FROM public.instructors "
|
||||
"WHERE instructor_id = %1 "
|
||||
"RETURNING instructors.instructor_id").arg(
|
||||
QString::number(id_instructor));
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateInstructor(Instructor instructor)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.instructors "
|
||||
"SET name = '%1', login = '%2', password = '%3', is_admin = %4, archived = %5, logged_in = %6 "
|
||||
"WHERE instructor_id = %7 RETURNING instructors.instructor_id").arg(
|
||||
"WHERE instructor_id = %7 "
|
||||
"RETURNING instructors.instructor_id").arg(
|
||||
instructor.getName(),
|
||||
instructor.getLogin(),
|
||||
instructor.getPassword(),
|
||||
@@ -185,38 +371,226 @@ int DataBaseLMS::updateInstructor(Instructor instructor)
|
||||
instructor.getLoggedIn() ? "true" : "false",
|
||||
QString::number(instructor.getID()) );
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
Group DataBaseLMS::selectGroup(int id_group)
|
||||
{
|
||||
Group group;
|
||||
|
||||
QString queryStr = QString("SELECT group_id, name "
|
||||
"FROM public.groups "
|
||||
"WHERE groups.group_id = %1 ").arg(
|
||||
id_group);
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (query.first())
|
||||
{//Инструктор
|
||||
group.setID(query.value(0).toInt());
|
||||
group.setName(query.value(1).toString());
|
||||
}
|
||||
}
|
||||
|
||||
return group;
|
||||
}
|
||||
|
||||
int DataBaseLMS::insertGroup()
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.groups "
|
||||
"DEFAULT VALUES "
|
||||
"RETURNING group_id");
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::insertGroup(Group group)
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.groups (name) "
|
||||
"VALUES ('%1') RETURNING groups.group_id").arg(
|
||||
"VALUES ('%1') "
|
||||
"RETURNING groups.group_id").arg(
|
||||
group.getName());
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::deleteGroup(int group_id)
|
||||
{
|
||||
QString queryStr = QString("DELETE FROM public.groups WHERE group_id = %1 RETURNING groups.group_id").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 queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateGroup(Group group)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.groups SET name = '%1' WHERE group_id = %2 RETURNING groups.group_id").arg(
|
||||
QString queryStr = QString("UPDATE public.groups SET name = '%1' "
|
||||
"WHERE group_id = %2 "
|
||||
"RETURNING groups.group_id").arg(
|
||||
group.getName(),
|
||||
QString::number(group.getID()) );
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
Trainee DataBaseLMS::selectTrainee(int id_trainee)
|
||||
{
|
||||
Trainee trainee;
|
||||
|
||||
QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, trainees.logged_in, "
|
||||
"groups.group_id, groups.name, "
|
||||
"computers.computer_id, computers.name, computers.ip_address, "
|
||||
"classrooms.classroom_id, classrooms.name "
|
||||
"FROM public.trainees JOIN public.groups ON groups.group_id = trainees.group_trainee "
|
||||
"LEFT OUTER JOIN public.computers ON computers.computer_id = trainees.computer_trainee "
|
||||
"LEFT OUTER JOIN public.classrooms ON classrooms.classroom_id = computers.classroom_computer "
|
||||
"WHERE trainees.trainee_id = %1 "
|
||||
"ORDER BY groups.name, trainees.name ASC").arg(
|
||||
id_trainee);
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (query.first())
|
||||
{//Инструктор
|
||||
trainee.setID(query.value(0).toInt());
|
||||
trainee.setName(query.value(1).toString());
|
||||
trainee.setLogin(query.value(2).toString());
|
||||
trainee.setPassword(query.value(3).toString());
|
||||
trainee.setArchived(query.value(4).toBool());
|
||||
trainee.setLoggedIn(query.value(5).toBool());
|
||||
|
||||
Group group = Group(query.value(6).toInt(), query.value(7).toString());
|
||||
trainee.setGroup(group);
|
||||
|
||||
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()));
|
||||
}
|
||||
}
|
||||
|
||||
return trainee;
|
||||
}
|
||||
|
||||
int DataBaseLMS::selectTraineeID(QString login, QString password)
|
||||
{
|
||||
QString queryStr;
|
||||
|
||||
if(password != QStringLiteral(""))
|
||||
{
|
||||
queryStr = QString("SELECT trainees.trainee_id "
|
||||
"FROM public.trainees "
|
||||
"WHERE login = '%1' AND password = '%2' ").arg(
|
||||
login,
|
||||
password );
|
||||
}
|
||||
else
|
||||
{
|
||||
queryStr = QString("SELECT trainees.trainee_id "
|
||||
"FROM public.trainees "
|
||||
"WHERE login = '%1' ").arg(
|
||||
login );
|
||||
}
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
bool DataBaseLMS::selectTraineeArchived(int id_trainee)
|
||||
{
|
||||
QString queryStr = QString("SELECT trainees.archived "
|
||||
"FROM public.trainees "
|
||||
"WHERE trainee_id = %1 ").arg(
|
||||
id_trainee );
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.next())
|
||||
return query.value(0).toBool();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DataBaseLMS::selectTraineeLoggedIn(int id_trainee)
|
||||
{
|
||||
QString queryStr = QString("SELECT trainees.logged_in "
|
||||
"FROM public.trainees "
|
||||
"WHERE trainee_id = %1 ").arg(
|
||||
id_trainee );
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.next())
|
||||
return query.value(0).toBool();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateTraineeLoggedIn(int id_trainee, bool loggedIn)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.trainees "
|
||||
"SET logged_in = %1 "
|
||||
"WHERE trainee_id = %2 "
|
||||
"RETURNING trainees.trainee_id").arg(
|
||||
loggedIn ? "true" : "false",
|
||||
QString::number(id_trainee) );
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateTraineeArchived(int id_trainee, bool archived)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.trainees "
|
||||
"SET archived = %1 "
|
||||
"WHERE trainee_id = %2 "
|
||||
"RETURNING trainees.trainee_id").arg(
|
||||
archived ? "true" : "false",
|
||||
QString::number(id_trainee) );
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::insertTrainee(int id_group)
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, logged_in, group_trainee) "
|
||||
"VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, %1) "
|
||||
"RETURNING trainees.trainee_id").arg(
|
||||
QString::number(id_group));
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::insertTrainee(Trainee trainee)
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, logged_in, group_trainee) "
|
||||
"VALUES ('%1', '%2', '%3', %4, %5, %6) RETURNING trainees.trainee_id").arg(
|
||||
"VALUES ('%1', '%2', '%3', %4, %5, %6) "
|
||||
"RETURNING trainees.trainee_id").arg(
|
||||
trainee.getName(),
|
||||
trainee.getLogin(),
|
||||
trainee.getPassword(),
|
||||
@@ -224,14 +598,17 @@ int DataBaseLMS::insertTrainee(Trainee trainee)
|
||||
trainee.getLoggedIn() ? "true" : "false",
|
||||
QString::number(trainee.getGroup().getID()));
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::deleteTrainee(int trainee_id)
|
||||
{
|
||||
QString queryStr = QString("DELETE FROM public.trainees WHERE trainee_id = %1 RETURNING trainees.trainee_id").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 queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateTrainee(Trainee trainee)
|
||||
@@ -242,7 +619,8 @@ int DataBaseLMS::updateTrainee(Trainee trainee)
|
||||
"SET name = '%1', login = '%2', password = '%3', archived = %4, logged_in = %5, "
|
||||
"group_trainee = %6, "
|
||||
"computer_trainee = %7 "
|
||||
"WHERE trainee_id = %8 RETURNING trainees.trainee_id").arg(
|
||||
"WHERE trainee_id = %8 "
|
||||
"RETURNING trainees.trainee_id").arg(
|
||||
trainee.getName(),
|
||||
trainee.getLogin(),
|
||||
trainee.getPassword(),
|
||||
@@ -252,7 +630,7 @@ int DataBaseLMS::updateTrainee(Trainee trainee)
|
||||
computer_id,
|
||||
QString::number(trainee.getID()) );
|
||||
|
||||
return queryExec(queryStr);
|
||||
return queryExecInt(queryStr);
|
||||
}
|
||||
|
||||
QList<Task> DataBaseLMS::selectTasksOfTrainee(int trainee_id)
|
||||
@@ -260,17 +638,18 @@ QList<Task> DataBaseLMS::selectTasksOfTrainee(int trainee_id)
|
||||
QList<Task> tasks;
|
||||
|
||||
QString queryStr = QString("SELECT tasks.task_id, tasks.name "
|
||||
"FROM public.trainees "
|
||||
"JOIN public.trainees_tasks ON trainees_tasks.trainee_id = trainees.trainee_id "
|
||||
"JOIN public.tasks ON tasks.task_id = trainees_tasks.task_id "
|
||||
"WHERE trainees.trainee_id = %1 "
|
||||
"ORDER BY tasks.name ASC").arg(
|
||||
trainee_id);
|
||||
"FROM public.trainees "
|
||||
"JOIN public.trainees_tasks ON trainees_tasks.trainee_id = trainees.trainee_id "
|
||||
"JOIN public.tasks ON tasks.task_id = trainees_tasks.task_id "
|
||||
"WHERE trainees.trainee_id = %1 "
|
||||
"ORDER BY tasks.name ASC").arg(
|
||||
trainee_id);
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
QSqlQuery query(*db);
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr);
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -286,24 +665,46 @@ QList<Task> DataBaseLMS::selectTasksOfTrainee(int trainee_id)
|
||||
return tasks;
|
||||
}
|
||||
|
||||
int DataBaseLMS::queryExec(QString queryStr)
|
||||
int DataBaseLMS::queryExecInt(QString queryStr)
|
||||
{
|
||||
QSqlQuery query(*db);
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr);
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.next())
|
||||
if(query.first())
|
||||
return query.value(0).toInt();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void DataBaseLMS::messageWarningErrorQuery(QString queryStr)
|
||||
/*
|
||||
bool DataBaseLMS::queryExecBool(QString queryStr)
|
||||
{
|
||||
QMessageBox::warning(nullptr, dbName, "Error query: " + queryStr + "\n" + db->lastError().text());
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr, &query);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(query.first())
|
||||
return query.value(0).toBool();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}*/
|
||||
|
||||
void DataBaseLMS::messageWarningErrorQuery(QString queryStr, QSqlQuery* query)
|
||||
{
|
||||
QMessageBox::warning(nullptr, dbName,
|
||||
"Error query:\n" + query->lastError().text() + "\n" +
|
||||
"String of query:\n" + queryStr + "\n" +
|
||||
"Executed query:\n" + query->executedQuery());
|
||||
}
|
||||
|
||||
@@ -15,22 +15,51 @@ public:
|
||||
DataBaseLMS();
|
||||
~DataBaseLMS();
|
||||
|
||||
public:
|
||||
protected:
|
||||
public:
|
||||
//Подключение
|
||||
bool createConnection();
|
||||
void deleteConnection();
|
||||
|
||||
//Транзакции
|
||||
bool transactionBegin();
|
||||
bool transactionEnd();
|
||||
|
||||
//Списки
|
||||
QList<Instructor> selectAllInstructors();
|
||||
QList<Trainee> selectAllTrainees();
|
||||
QList<Group> selectAllGroups();
|
||||
|
||||
//Инструктор
|
||||
Instructor selectInstructor(int id_instructor);
|
||||
int selectInstructorID(QString login, QString password = QStringLiteral(""));
|
||||
bool selectInstructorIsAdmin(int id_instructor);
|
||||
bool selectInstructorLoggedIn(int id_instructor);
|
||||
bool selectInstructorArchived(int id_instructor);
|
||||
int updateInstructorLoggedIn(int id_instructor, bool loggedIn);
|
||||
int updateInstructorArchived(int id_instructor, bool archived);
|
||||
|
||||
int insertInstructor();
|
||||
int insertInstructor(Instructor instructor);
|
||||
int deleteInstructor(int instructor_id);
|
||||
int deleteInstructor(int id_instructor);
|
||||
int updateInstructor(Instructor instructor);
|
||||
|
||||
//Группа
|
||||
Group selectGroup(int id_group);//
|
||||
int insertGroup();//
|
||||
int insertGroup(Group group);
|
||||
int deleteGroup(int group_id);
|
||||
int updateGroup(Group group);
|
||||
|
||||
//Обучаемый
|
||||
Trainee selectTrainee(int id_trainee);//
|
||||
int selectTraineeID(QString login, QString password = QStringLiteral(""));//
|
||||
bool selectTraineeArchived(int id_trainee);//
|
||||
bool selectTraineeLoggedIn(int id_trainee);//
|
||||
int updateTraineeLoggedIn(int id_trainee, bool loggedIn);//
|
||||
int updateTraineeArchived(int id_trainee, bool archived);//
|
||||
|
||||
int insertTrainee(int id_group);//
|
||||
int insertTrainee(Trainee trainee);
|
||||
int deleteTrainee(int trainee_id);
|
||||
int updateTrainee(Trainee trainee);
|
||||
@@ -38,11 +67,13 @@ public:
|
||||
QList<Task> selectTasksOfTrainee(int trainee_id);
|
||||
|
||||
private:
|
||||
int queryExec(QString queryStr);
|
||||
void messageWarningErrorQuery(QString queryStr);
|
||||
int queryExecInt(QString queryStr);
|
||||
//bool queryExecBool(QString queryStr);
|
||||
void messageWarningErrorQuery(QString queryStr, QSqlQuery* query);
|
||||
|
||||
private:
|
||||
QSqlDatabase* db;
|
||||
bool transactionBegined;
|
||||
const QString dbName = "DataBaseLMS";
|
||||
const QString dbUserName = "postgres";
|
||||
const QString dbPassword = "12345678";
|
||||
|
||||
6
DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
Normal file
6
DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
#include "interfacedatabaselms.h"
|
||||
|
||||
InterfaceDataBaseLMS::InterfaceDataBaseLMS()
|
||||
{
|
||||
|
||||
}
|
||||
13
DB_LMS/DataBaseLMS/interfacedatabaselms.h
Normal file
13
DB_LMS/DataBaseLMS/interfacedatabaselms.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#ifndef INTERFACEDATABASELMS_H
|
||||
#define INTERFACEDATABASELMS_H
|
||||
|
||||
#include "DataBaseLMS_global.h"
|
||||
#include "databaselms.h"
|
||||
|
||||
class DATABASELMS_EXPORT InterfaceDataBaseLMS : public DataBaseLMS
|
||||
{
|
||||
public:
|
||||
InterfaceDataBaseLMS();
|
||||
};
|
||||
|
||||
#endif // INTERFACEDATABASELMS_H
|
||||
@@ -41,7 +41,7 @@
|
||||
{
|
||||
"directoryIndex" : 0,
|
||||
"id" : "DataBaseLMS::@6890427a1f51a3e7e1df",
|
||||
"jsonFile" : "target-DataBaseLMS-Debug-788469329fca20560302.json",
|
||||
"jsonFile" : "target-DataBaseLMS-Debug-5eb45d4d55eb23675b98.json",
|
||||
"name" : "DataBaseLMS",
|
||||
"projectIndex" : 0
|
||||
},
|
||||
@@ -26,7 +26,7 @@
|
||||
"objects" :
|
||||
[
|
||||
{
|
||||
"jsonFile" : "codemodel-v2-75aa5940d6c94493455f.json",
|
||||
"jsonFile" : "codemodel-v2-4c4ecc1a053153a57cf7.json",
|
||||
"kind" : "codemodel",
|
||||
"version" :
|
||||
{
|
||||
@@ -77,7 +77,7 @@
|
||||
},
|
||||
"codemodel-v2" :
|
||||
{
|
||||
"jsonFile" : "codemodel-v2-75aa5940d6c94493455f.json",
|
||||
"jsonFile" : "codemodel-v2-4c4ecc1a053153a57cf7.json",
|
||||
"kind" : "codemodel",
|
||||
"version" :
|
||||
{
|
||||
@@ -43,13 +43,13 @@
|
||||
{
|
||||
"command" : 1,
|
||||
"file" : 0,
|
||||
"line" : 37,
|
||||
"line" : 39,
|
||||
"parent" : 0
|
||||
},
|
||||
{
|
||||
"command" : 1,
|
||||
"file" : 0,
|
||||
"line" : 38,
|
||||
"line" : 40,
|
||||
"parent" : 0
|
||||
},
|
||||
{
|
||||
@@ -87,7 +87,7 @@
|
||||
{
|
||||
"command" : 5,
|
||||
"file" : 0,
|
||||
"line" : 40,
|
||||
"line" : 42,
|
||||
"parent" : 0
|
||||
}
|
||||
]
|
||||
@@ -195,7 +195,8 @@
|
||||
12,
|
||||
14,
|
||||
16,
|
||||
18
|
||||
18,
|
||||
20
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -264,7 +265,8 @@
|
||||
12,
|
||||
14,
|
||||
16,
|
||||
18
|
||||
18,
|
||||
20
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -280,7 +282,8 @@
|
||||
13,
|
||||
15,
|
||||
17,
|
||||
19
|
||||
19,
|
||||
21
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -309,6 +312,17 @@
|
||||
"path" : "databaselms.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
"path" : "interfacedatabaselms.cpp",
|
||||
"sourceGroupIndex" : 0
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"path" : "interfacedatabaselms.h",
|
||||
"sourceGroupIndex" : 1
|
||||
},
|
||||
{
|
||||
"backtrace" : 1,
|
||||
"compileGroupIndex" : 0,
|
||||
Binary file not shown.
@@ -1,81 +1,43 @@
|
||||
# ninja log v5
|
||||
11 35 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
2059 2218 7525088392927135 libDataBaseLMS.dll 3b716bd5e0562557
|
||||
2059 2218 7525088392927135 libDataBaseLMS.dll.a 3b716bd5e0562557
|
||||
35 42 0 clean 9c4b4372737ab8da
|
||||
95 1643 7524982876371819 CMakeFiles/DataBaseLMS.dir/computer.cpp.obj 5930684a0b27a14f
|
||||
14 49 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
83 1635 7524982876272093 CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj 99b734c728959a94
|
||||
88 1636 7524982876292025 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
|
||||
97 1633 7524982876272093 CMakeFiles/DataBaseLMS.dir/task.cpp.obj b003a0cb68c6b2bb
|
||||
92 1636 7524982876292025 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
|
||||
156 788 7524397271272665 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
|
||||
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
|
||||
90 131 7525981640473406 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
|
||||
54 113 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
97 657 7525981645725604 CMakeFiles/DataBaseLMS.dir/user.cpp.obj 4ee7a17d2a43f188
|
||||
54 113 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
108 693 7525981646098521 CMakeFiles/DataBaseLMS.dir/computer.cpp.obj 5930684a0b27a14f
|
||||
105 653 7525981645685710 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
|
||||
7 31 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
2048 2211 7531044009955548 libDataBaseLMS.dll 3b716bd5e0562557
|
||||
2048 2211 7531044009955548 libDataBaseLMS.dll.a 3b716bd5e0562557
|
||||
31 38 0 clean 9c4b4372737ab8da
|
||||
52 2047 7531044008328505 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
|
||||
95 655 7525981645705675 CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj 99b734c728959a94
|
||||
54 113 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
100 738 7525981646532033 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
|
||||
110 683 7525981645966249 CMakeFiles/DataBaseLMS.dir/task.cpp.obj b003a0cb68c6b2bb
|
||||
54 113 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
113 607 7525981645223557 CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj e9b501dc7cb3286a
|
||||
102 767 7525981646832047 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
|
||||
16 56 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
16 56 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
16 56 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
16 56 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
59 1069 7531836962549807 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
|
||||
56 2141 7531836973258075 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
|
||||
2141 2512 7531836976956111 libDataBaseLMS.dll 31a19f1f3436f66b
|
||||
2141 2512 7531836976956111 libDataBaseLMS.dll.a 31a19f1f3436f66b
|
||||
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 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
15 50 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
15 50 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
50 1981 7525216791870122 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
|
||||
1981 2140 7525216793455149 libDataBaseLMS.dll 3b716bd5e0562557
|
||||
1981 2140 7525216793455149 libDataBaseLMS.dll.a 3b716bd5e0562557
|
||||
14 48 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
14 48 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
14 48 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
14 48 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
25 67 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
25 67 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
25 67 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
25 67 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
24 74 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
24 74 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
24 74 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
24 74 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
7 31 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
31 38 0 clean 9c4b4372737ab8da
|
||||
11 90 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
11 90 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
11 90 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
11 90 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
90 131 7525981640473406 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
|
||||
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
|
||||
56 598 7531839242498807 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
|
||||
53 2026 7531839256769605 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
|
||||
2026 2210 7531839258594933 libDataBaseLMS.dll 31a19f1f3436f66b
|
||||
2026 2210 7531839258594933 libDataBaseLMS.dll.a 31a19f1f3436f66b
|
||||
15 52 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
15 52 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
15 52 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
|
||||
15 52 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
|
||||
55 606 7531839486381107 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
|
||||
52 2049 7531839500798537 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
|
||||
2049 2220 7531839502500362 libDataBaseLMS.dll 31a19f1f3436f66b
|
||||
2049 2220 7531839502500362 libDataBaseLMS.dll.a 31a19f1f3436f66b
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -123,6 +123,12 @@
|
||||
"EWIEGA46WW/moc_instructor.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h",
|
||||
"MU",
|
||||
"EWIEGA46WW/moc_interfacedatabaselms.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"D:/LMS/DB_LMS/DataBaseLMS/task.h",
|
||||
"MU",
|
||||
@@ -210,6 +216,7 @@
|
||||
[ "D:/LMS/DB_LMS/DataBaseLMS/databaselms.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/interfacedatabaselms.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 ]
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
# 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/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/group.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/instructor.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/trainee.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/task.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/databaselms.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/group.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/user.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/group.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/task.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/instructor.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/user.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/trainee.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/computer.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/basicentity.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp
|
||||
D:/LMS/DB_LMS/DataBaseLMS/computer.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/classroom.h
|
||||
D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp
|
||||
|
||||
@@ -159,6 +159,12 @@
|
||||
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/instructor.h">
|
||||
<Option target="DataBaseLMS"/>
|
||||
</Unit>
|
||||
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp">
|
||||
<Option target="DataBaseLMS"/>
|
||||
</Unit>
|
||||
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h">
|
||||
<Option target="DataBaseLMS"/>
|
||||
</Unit>
|
||||
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/task.cpp">
|
||||
<Option target="DataBaseLMS"/>
|
||||
</Unit>
|
||||
|
||||
@@ -65,6 +65,14 @@ build CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj: CXX_COMPILER__DataBaseLMS_
|
||||
OBJECT_DIR = CMakeFiles\DataBaseLMS.dir
|
||||
OBJECT_FILE_DIR = CMakeFiles\DataBaseLMS.dir
|
||||
|
||||
build CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj: CXX_COMPILER__DataBaseLMS_unscanned_Debug D$:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.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\interfacedatabaselms.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/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
|
||||
@@ -137,7 +145,7 @@ build CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj: CXX_COMPILER__DataBaseLMS_un
|
||||
#############################################
|
||||
# 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/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
|
||||
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/interfacedatabaselms.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
|
||||
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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,81 +1,78 @@
|
||||
# ninja log v5
|
||||
10 396 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
477 526 7525774738633531 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp.obj 7ac9b57cd808a15a
|
||||
10 396 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
473 1597 7525774749339959 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
|
||||
475 1610 7525774749469616 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
|
||||
10 396 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
8 35 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
396 470 7525774738048804 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
|
||||
1611 1743 7525774750773210 testDBpgSQL.exe 481e73a84a688916
|
||||
35 42 0 clean 9c4b4372737ab8da
|
||||
10 396 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
470 1599 7525774749359905 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
|
||||
10 396 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
10 396 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
396 470 7525774738048804 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
|
||||
19 59 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
19 59 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
19 59 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
19 59 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
19 59 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
19 59 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
59 1177 7525805030940500 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
|
||||
62 1191 7525805031071769 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
|
||||
64 1237 7525805031533450 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
|
||||
1237 1375 7525805032905306 testDBpgSQL.exe 481e73a84a688916
|
||||
14 46 0 CMakeFiles/testDBpgSQL_autogen 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
|
||||
51 1173 7531147078279842 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
|
||||
12 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
12 42 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
54 1200 7531147078543711 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
|
||||
385 438 7525981909076938 testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
|
||||
11 35 0 CMakeFiles/clean.additional 7155004b3956b606
|
||||
1200 1336 7531147079886299 testDBpgSQL.exe 481e73a84a688916
|
||||
36 42 0 clean 9c4b4372737ab8da
|
||||
48 1192 7531147078472554 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
|
||||
12 42 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
12 42 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
12 42 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
385 438 7525981909076938 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/EWIEGA46WW/qrc_testDBpgSQL.cpp e72511a2b01b9766
|
||||
12 42 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
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
|
||||
44 1157 7531213263801735 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
|
||||
41 1178 7531213263994252 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
|
||||
46 1184 7531213264064062 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
|
||||
1184 1313 7531213265341724 testDBpgSQL.exe 481e73a84a688916
|
||||
15 46 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
15 46 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
15 46 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
15 46 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
15 46 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
15 46 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
|
||||
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/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
11 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
13 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
13 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
13 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
13 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
13 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
13 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
12 43 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
12 43 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
12 43 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
12 43 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
12 43 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
12 43 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
|
||||
26 69 0 CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
26 69 0 testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
26 69 0 testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
26 69 0 D:/LMS/testDB/Debug64/CMakeFiles/testDBpgSQL_autogen d08ec0c05fa072d8
|
||||
26 69 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/mocs_compilation.cpp d08ec0c05fa072d8
|
||||
26 69 0 D:/LMS/testDB/Debug64/testDBpgSQL_autogen/include/ui_mainwindow.h d08ec0c05fa072d8
|
||||
70 1184 7531839606020719 CMakeFiles/testDBpgSQL.dir/testDBpgSQL_autogen/mocs_compilation.cpp.obj 223f91fdbeaff3f0
|
||||
72 1217 7531839606323683 CMakeFiles/testDBpgSQL.dir/main.cpp.obj 7c6bf829703494a2
|
||||
74 1217 7531839606323683 CMakeFiles/testDBpgSQL.dir/mainwindow.cpp.obj a213cdc2d21087f1
|
||||
1217 1369 7531839607852787 testDBpgSQL.exe 481e73a84a688916
|
||||
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
|
||||
|
||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
# Generated by CMake. Changes will be overwritten.
|
||||
D:/LMS/testDB/testDBpgSQL/mainwindow.cpp
|
||||
uic:./ui_mainwindow.h
|
||||
D:/LMS/testDB/testDBpgSQL/main.cpp
|
||||
D:/LMS/testDB/testDBpgSQL/mainwindow.h
|
||||
mmc:Q_OBJECT
|
||||
D:/LMS/testDB/testDBpgSQL/main.cpp
|
||||
D:/LMS/testDB/testDBpgSQL/mainwindow.cpp
|
||||
uic:./ui_mainwindow.h
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-06T16:05:43. -->
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-13T09:53:44. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -12,7 +12,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
ui->setupUi(this);
|
||||
|
||||
m_instructorsAndTraineesWidget = new InstructorsAndTraineesWidget(this);
|
||||
if(! m_instructorsAndTraineesWidget->authorizationCompleted())
|
||||
|
||||
if(! m_instructorsAndTraineesWidget->authorizationIsCompleted())
|
||||
{
|
||||
delete m_instructorsAndTraineesWidget;
|
||||
delete ui;
|
||||
|
||||
Reference in New Issue
Block a user