mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Compare commits
144 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84bdd7dfa6 | |||
| 6a48bf4cb2 | |||
| 05fce073f1 | |||
| 57673d0ee4 | |||
| 63cd6a71d1 | |||
| 11c8e21729 | |||
| 75ffb5ceca | |||
| 2e807112f0 | |||
| 0b7f772b21 | |||
| c97c86ac55 | |||
| 834e192479 | |||
| d2384d3758 | |||
| df1ada6945 | |||
| 54f1744e7f | |||
| d30e6b4927 | |||
| d129fbded0 | |||
| fb493aca9f | |||
|
|
44e7c4781a | ||
|
|
567eb282d7 | ||
| 8ad6d06f18 | |||
| 612fcc8aa7 | |||
| c61066cfd1 | |||
| 6f44b6125e | |||
| ace95db3df | |||
| bf87a2c982 | |||
| 00c9ec8893 | |||
| 4def07ff68 | |||
| b0f02e742a | |||
| f0e04954ed | |||
| 711963c9be | |||
| 3e50bfe2e2 | |||
| f75ff9660f | |||
| 23d432170d | |||
| 1c151d4aff | |||
| 44b6299e59 | |||
| f6e96e002c | |||
| e3dcd8c54b | |||
| 173c369cc5 | |||
| c627bc73d9 | |||
| e24c57c395 | |||
| 9a4a082ffc | |||
| f2d7557f19 | |||
| 4bdfb8163a | |||
| 76a5f08481 | |||
|
|
f43abdc46d | ||
| 1842c9381f | |||
| 4f6958ef81 | |||
| 770a705281 | |||
| b6c0f6aa57 | |||
| 72d107308c | |||
| 394eee5a16 | |||
| 5bb9816593 | |||
|
|
73fd93a834 | ||
| 72438e8257 | |||
| 27b4edef6d | |||
| bbef1f73b4 | |||
| 15eade2363 | |||
|
|
b16fd1f53d | ||
| 08664989b9 | |||
|
|
7e27584c5a | ||
|
|
bd0bed926c | ||
| 176ced7045 | |||
| 74594de4ad | |||
| 069aa80826 | |||
|
|
560b7ff4cb | ||
| ee97f83856 | |||
| 74bdac7540 | |||
| 10a30af698 | |||
| 9bff7c3050 | |||
| 31e01ff8e5 | |||
| b333ec8ec1 | |||
| 4f14cddbed | |||
| 168ded7b1e | |||
| bd0f52c613 | |||
|
|
c0d6571f2c | ||
| d280472e1f | |||
| 546edf1b52 | |||
| 200f919afe | |||
| 0c7d84ec84 | |||
| aa4972c3a5 | |||
| 208fa638ef | |||
| 47d9c182a5 | |||
| a6bee48b77 | |||
| 4bfd4dad82 | |||
| 98821a7533 | |||
| 650b0525a3 | |||
| 81d7e5e6d6 | |||
| 9df00eda9e | |||
| 404fb0bf49 | |||
| 9b87bcc490 | |||
| ff8767d1b3 | |||
| 364d3f44a9 | |||
| e79186cb4f | |||
| fd8fcd5c1d | |||
| c021421118 | |||
| 2d3d4f82dd | |||
| da7363dfb5 | |||
| 2d1e17627b | |||
| 2d91b18bfb | |||
| 99d9c6d1e3 | |||
| 84ea6ca512 | |||
| e9363c388b | |||
| 0d1d851e3f | |||
| c11871e8f4 | |||
| 39c11897f8 | |||
| ce65daea2e | |||
| d4fd29f373 | |||
| 5287d5f13d | |||
| f2df91e97e | |||
| ff6f70c967 | |||
| b9a39287cf | |||
| 068a4ee14a | |||
| 294a7e4a7d | |||
| 93343a56e5 | |||
| 86ee77e8cb | |||
| ad8a544e45 | |||
| f4ffc7c393 | |||
| edadfdf323 | |||
| 5c147be57a | |||
| 2d8c13fd1a | |||
| e2a2d8142c | |||
| d643205323 | |||
| b539f9fd2b | |||
| 241382d305 | |||
| 8e931f229b | |||
| 2cf219ce94 | |||
| 79c5354f58 | |||
| e5f4c0bd00 | |||
| 936ee45fd6 | |||
| 6af6ca1ab3 | |||
| 5d5267f859 | |||
| f6c4da675d | |||
| fc42dc0723 | |||
| b1baafe6a1 | |||
| 17f6119954 | |||
| a70c8b5be1 | |||
| 05d4e02d02 | |||
| e108b79d09 | |||
| 191b817c21 | |||
| 81dca6e106 | |||
| 9a2d816d0a | |||
| dd4d58a393 | |||
| 2c35b7bd06 | |||
| 7c70fc90d6 |
14
.gitignore
vendored
14
.gitignore
vendored
@@ -13,10 +13,12 @@ compile_commands.json
|
||||
CTestTestfile.cmake
|
||||
_deps
|
||||
CMakeUserPresets.json
|
||||
TestServerLMS/TestServerLMS/CMakeLists.txt.user
|
||||
ServerLMS/ServerLMS/CMakeLists.txt.user
|
||||
InstructorsAndTrainees/CMakeLists.txt.user
|
||||
GUIdataBaseLMS/CMakeLists.txt.user
|
||||
DataBaseLMS/CMakeLists.txt.user
|
||||
|
||||
ProgramServerMPS/TestServerLMS/CMakeLists.txt.user.*
|
||||
ProgramAWSinstructorMPS/CMakeLists.txt.user.*
|
||||
LibServer/ServerLMS/CMakeLists.txt.user.*
|
||||
LibInstructorsAndTrainees/CMakeLists.txt.user.*
|
||||
LibDataBaseInterface/CMakeLists.txt.user.*
|
||||
|
||||
DOCS/.obsidian
|
||||
GUIdataBaseLMS/StaticData
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
message("Using CMake ${CMAKE_VERSION}\n")
|
||||
|
||||
project(LMS LANGUAGES CXX)
|
||||
project(MPS LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
@@ -21,7 +21,7 @@ endif()
|
||||
|
||||
include(cmake/CommonInfoForProject.cmake)
|
||||
|
||||
common_info_for_project(LMS)
|
||||
common_info_for_project(MPS)
|
||||
|
||||
find_package(Qt5 COMPONENTS Widgets REQUIRED)
|
||||
find_package(Qt5 COMPONENTS Network REQUIRED)
|
||||
@@ -30,13 +30,14 @@ find_package(Qt5 COMPONENTS LinguistTools REQUIRED)
|
||||
find_package(Qt5 COMPONENTS Xml REQUIRED)
|
||||
find_package(Qt5 COMPONENTS Concurrent REQUIRED)
|
||||
|
||||
add_subdirectory(DataBaseLMS)
|
||||
add_subdirectory(InstructorsAndTrainees)
|
||||
add_subdirectory(GUIdataBaseLMS)
|
||||
add_subdirectory(ServerLMS)
|
||||
add_subdirectory(TestServerLMS)
|
||||
add_subdirectory(LibDataBaseInterface)
|
||||
add_subdirectory(LibInstructorsAndTrainees)
|
||||
add_subdirectory(LibServer)
|
||||
add_subdirectory(ProgramAWSinstructorMPS)
|
||||
add_subdirectory(ProgramServerMPS)
|
||||
|
||||
add_dependencies(InstructorsAndTrainees DataBaseLMS)
|
||||
add_dependencies(GUIdataBaseLMS InstructorsAndTrainees)
|
||||
add_dependencies(ServerLMS DataBaseLMS)
|
||||
add_dependencies(TestServerLMS ServerLMS)
|
||||
add_dependencies(InstructorsAndTrainees DataBaseInterface)
|
||||
add_dependencies(Server DataBaseInterface)
|
||||
add_dependencies(Server InstructorsAndTrainees)
|
||||
add_dependencies(ProgramAWSinstructorMPS InstructorsAndTrainees)
|
||||
add_dependencies(ProgramServerMPS Server)
|
||||
|
||||
BIN
DOCS/DBschem.png
Normal file
BIN
DOCS/DBschem.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
@@ -80,7 +80,8 @@ Mainthread:
|
||||
*processingSystem
|
||||
*commonClientHandler
|
||||
*chatSystem
|
||||
*processParser ^ite9vjus
|
||||
*processParser
|
||||
*docsUpdater ^ite9vjus
|
||||
|
||||
|
||||
ClientHandler: Thread
|
||||
@@ -94,6 +95,7 @@ LoggerThread:
|
||||
UpdateThread:
|
||||
*updateController
|
||||
*assetsManager
|
||||
*docsUpdater
|
||||
|
||||
^ZvWgIkFz
|
||||
|
||||
@@ -149,9 +151,9 @@ Server ^57kJSOBv
|
||||
|
||||
Клиент ^Iao6ua8K
|
||||
|
||||
sendClientAutorization ^FgztXDxQ
|
||||
sendClientAutorizationXML ^FgztXDxQ
|
||||
|
||||
Server Authorization ^FAEhzlqj
|
||||
Server AuthorizationXML ^FAEhzlqj
|
||||
|
||||
Send version ^Wsgy80Do
|
||||
|
||||
@@ -266,521 +268,634 @@ TYPE_COMMAND ^Qljc4T07
|
||||
|
||||
TYPE_DISABLE ^IIrBIFHt
|
||||
|
||||
VersionData ^W7PN2rtW
|
||||
VersionDataXML ^W7PN2rtW
|
||||
|
||||
sendCheckHash ^N9XDpZcf
|
||||
|
||||
TYPE_CHECK_VERSION ^Ze62Cipy
|
||||
|
||||
Логин инструктора с дозагрузкой сценария ^Yjh3SCZW
|
||||
|
||||
Server ^PWQFD9Cw
|
||||
|
||||
Клиент ^OYfJYOhT
|
||||
|
||||
SendClientAutorizationXML ^Za9NF1mi
|
||||
|
||||
Server AuthorizationXML ^xHClCCKn
|
||||
|
||||
VersionDataXML ^gr6jkOBB
|
||||
|
||||
GETSERVERDATALIST ^ucynRquw
|
||||
|
||||
CHECKVERSIONLIST ^cidQq0td
|
||||
|
||||
HASHSENDCOMPLETE ^1NHntJg9
|
||||
|
||||
VersionDataXML ^lSsIgPGT
|
||||
|
||||
CANCHANGE ^0kAyN4XO
|
||||
|
||||
после нажатия выгрузки ^OgPlj3dk
|
||||
|
||||
CHANGEABLE ^A3apuHcm
|
||||
|
||||
ОТПРАВКА ФАЙЛОВ ^OKhIgcM3
|
||||
|
||||
TYPE_FINISH ^RNN4fRif
|
||||
|
||||
Где-то тут нужно пересчитывать docs ^ixmhU2Zx
|
||||
|
||||
сделать отдельный метод и клиенту повторный хэш не пересылать
|
||||
^D0vsPWNF
|
||||
|
||||
RECALCULATE DOCS ^VUTu7wzn
|
||||
|
||||
SEND DOCS ^iM67vAqM
|
||||
|
||||
потому что по умолчанию он больше не пересылается ^WR3pLokt
|
||||
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
```
|
||||
%%
|
||||
BIN
DOCS/Pasted Image 20251117174940_082.png
Normal file
BIN
DOCS/Pasted Image 20251117174940_082.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 182 KiB |
BIN
DOCS/Pasted image 20251107173042.png
Normal file
BIN
DOCS/Pasted image 20251107173042.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 284 KiB |
@@ -8,6 +8,7 @@ tags: [excalidraw]
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
|
||||
## Text Elements
|
||||
Server ^IFISGtDh
|
||||
|
||||
@@ -95,219 +96,450 @@ recognize ^cbFaiqgQ
|
||||
|
||||
sendInstalledVersion? ^wHecIDrY
|
||||
|
||||
Обновление версии 2.0 ^k8TgwAx9
|
||||
|
||||
Инструктор 1 ^HzN3hTVf
|
||||
|
||||
Сервер ^fYkwjWON
|
||||
|
||||
Первичное обновление или обновление не Scenaries части ^S5OLkmcX
|
||||
|
||||
обновление только сценариев ^ILG4z0FH
|
||||
|
||||
Обновление в полном объеме без уточнений, по первой версии обновления ^BnztnoYb
|
||||
|
||||
Дозагрузка новых сценариев ^6KtdBRKv
|
||||
|
||||
Пересчет docs по canPlay ^HUV0GHOH
|
||||
|
||||
Отправка уведов клиентам о наличии обновления ^wUj0KJs4
|
||||
|
||||
Клиент ^gqufkQsE
|
||||
|
||||
Клиент ^DcrY1jCl
|
||||
|
||||
Клиент ^VC0b0ofc
|
||||
|
||||
У клиента все сценарии в наличии (отправитель) ^5MmswpU1
|
||||
|
||||
не делаем ничего ^vLRSpFhd
|
||||
|
||||
У клиента есть не все (при обновлении кто то еще выгрузил изменения) ^YSGYSqjL
|
||||
|
||||
отправляем docs ^IuuYIAuC
|
||||
|
||||
отправка ^hGggwW7c
|
||||
|
||||
Досылаем недостающие Scenaries ^1aR92hQv
|
||||
|
||||
У предыдущей версии удален какой либо сценарий ^OlPkE0Gx
|
||||
|
||||
отправляем docs ^NtxU8Z63
|
||||
|
||||
отправка при уже не актуальной версии ^Obzi2qJ9
|
||||
|
||||
Дозагрузка новых сценариев ^cwhKgQjN
|
||||
|
||||
Пересчет docs по canPlay ^JHWnre3C
|
||||
|
||||
отправляем delete на лишние файлы ^xEjE8ehi
|
||||
|
||||
отправка обновления отправителю без уведомления ^qfEWtzgP
|
||||
|
||||
уведы в Unity,QTclient, GUI
|
||||
Добавить кнопку Обновить везде? ^EK8w9Zar
|
||||
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
|
||||
gaaQUp42hjIx4CAAA===
|
||||
```
|
||||
%%
|
||||
@@ -6,16 +6,18 @@ kanban-plugin: board
|
||||
|
||||
## backLog
|
||||
|
||||
- [ ] проверить работоспособность без Qt - не работает
|
||||
- [ ] 23 -> связное оборудование -> общая часть
|
||||
|
||||
|
||||
## bugs
|
||||
|
||||
- [ ] Перезаполнять имя на offline, если клиент отключился
|
||||
- [ ] QT клиент, если сервер занят повторно не появляется окно авторизации
|
||||
|
||||
|
||||
## feature client Unity
|
||||
|
||||
- [ ] перетащить наименования хинтов в XML и забирать из оттуда при старте
|
||||
- [ ] добавить пресеты для камер
|
||||
|
||||
|
||||
## feature client QT
|
||||
@@ -32,6 +34,29 @@ kanban-plugin: board
|
||||
|
||||
## Complete
|
||||
|
||||
- [ ] добавить переход на сценарий из PDF по типу списка окон
|
||||
- [ ] Гидравлическая система, при нажатии на пожарку при работающей 3й гидросистеме и включенном PTU, PTU путь не закрашивается обратно
|
||||
- [ ] добавить сохранение предыдущей загруженнной версии
|
||||
- [ ] поправить верстку в управлении серверами
|
||||
- [ ] QT клиент: не работают текстовые ссылки при обновлении сценариев НЕ ДОБАВЛЯТЬ ПРОБЕЛ В НАЗВАНИИ
|
||||
- [ ] М у EDP должно окрашиваться в оранжевый при подаче на на них питания
|
||||
- [ ] Не включается ГС3 при выставлении всего в AUTO
|
||||
- [ ] при включении двигателя без XFEED и работающей правой помпы (какой либо) неправильно вызывается анимация питания двигателя в топливной схеме
|
||||
- [ ] Иконки окон не выключаются при повторном открытии
|
||||
- [ ] Unity клиент: Вошел как на втором экране
|
||||
- [ ] Unity клиент: При закрытии окна при включенных мат параметрах, неверно инициализируется окно и пропадает содержимое
|
||||
- [ ] Перезаполнять имя на offline, если клиент отключился
|
||||
- [ ] Проверить работу настроек матмодели ис по билда
|
||||
- [ ] Подчищать креды при успешном логине в UNITY
|
||||
- [ ] Читать сабпроцедуры из тасок
|
||||
- [ ] BUSY не меняет иконку блокировки
|
||||
- [ ] не работают ссылки при выгрузке в QT Client
|
||||
- [ ] убрать из XML все настройки для мат модели
|
||||
- [ ] не отправлять updateDocs если не залогинен и запретить все операции
|
||||
- [ ] Завести CLIENT с состояние залогигнен или нет
|
||||
- [ ] перетащить наименования хинтов в XML и забирать из оттуда при старте
|
||||
- [ ] починить поведение окон при включенном обновлении у 2х пользователей
|
||||
- [ ] Отменить изменения работает некрасиво
|
||||
- [ ] увеличить размер текста в окне обновлений
|
||||
- [ ] Делить по группам траэйнисы и инструкторы
|
||||
- [ ] Проверить Максимальный объем пересылаемых позже сообщений 4 тысячи знаков
|
||||
|
||||
@@ -6,11 +6,29 @@ kanban-plugin: board
|
||||
|
||||
## backlog
|
||||
|
||||
- [ ] GUI: Сделать кнопку перезапроса общих списков FIM (по аналогии с АММ)
|
||||
- [ ] /RUS/Scens/tasksFIM.xml возможно изменится структура
|
||||
|
||||
|
||||
## Complete
|
||||
## Completed
|
||||
|
||||
- [ ] При смене УЗ в ГУИ остается история переписки в мессенджере. При этом Имя инструктора в диалоге подменяется. (Путается только в ГУИ!)
|
||||
[Возможно, поможет переинициализация мессенджера при переавторизации инструктора?]
|
||||
- [ ] Отображать текущую версию data в статус баре
|
||||
- [ ] Сделать крутилку на начальную загрузку Сервера
|
||||
- [ ] Логин суперпользователя PostgreSQL предлагать по умолчанию postgres
|
||||
- [ ] Сделать несколько попыток подключения к серверу
|
||||
- [ ] Переобновление docs.xml в пределах версии (если инструктор изменяет процедуры)
|
||||
- [ ] Реализовать механизм отображения и выбора подпроцедур для АММ.
|
||||
- [ ] Создание БД из кода (если нет или слетела)
|
||||
- [ ] Сервер при сворачивании превращается в трей
|
||||
- [ ] Пароли хранить и пересылать в виде Хеша
|
||||
- [ ] Смена пароля админом (или инструктором только для обучаемых). Старый никому не виден (парольная политика)
|
||||
- [ ] Сделать отправку сообщения на Enter
|
||||
- [ ] Введение логина только латиницей и цифрами
|
||||
- [ ] Кнопка открытия Персональной карты обучаемого
|
||||
- [ ] Блокировка авторизации не работает при входе в редакторы И/О
|
||||
- [ ] Добавить текущий статус задачи в "Проверке задачи" (AMM, FIM)
|
||||
- [ ] выдавать trainee_id при авторизации и вытащить передачу Trainee ID из тасок
|
||||
- [ ] Подсчет учебного времени - дельта между включением и выключением
|
||||
- [ ] регистрация времени включения и выключения тренажера (по приходу уходу пакета is unity) с регистрацие БД
|
||||
@@ -35,60 +53,33 @@ kanban-plugin: board
|
||||
- [ ] Убрать "DM-код" для узлов PM (AMM)
|
||||
- [ ] Уменьшить размер диалога "Проверка задачи" (AMM)
|
||||
- [ ] Учет ширины скрола на деревьях (появляется если дерево больше окна)
|
||||
- [ ] Универсальный пересчет ширин колонок деревьев
|
||||
- [ ] При обновлении деревьев слетает назначенная колонка сортировки
|
||||
|
||||
|
||||
## feature
|
||||
## Server
|
||||
|
||||
- [ ] Сервер при сворачивании превращается в трей
|
||||
- [ ] Отходить от идентификации по Логину в пользу ID юзера везде, где это возможно.
|
||||
(Так как сейчас может вызвать проблемы при смене логина юзера!!!)
|
||||
- [ ] Зарефакторить databaselms_PostgreSQL.cpp
|
||||
(возможно, нужно использовать транзакции при восстановлении БД!)
|
||||
|
||||
|
||||
## DataBaseLMS
|
||||
|
||||
- [ ] Оптимизировать
|
||||
DataBaseLMS::deleteTrainee(int id_trainee)
|
||||
- [ ] ProviderDBLMS::deAuthorizationAll()
|
||||
|
||||
|
||||
## Messenger
|
||||
## GUI Messenger
|
||||
|
||||
- [ ] Не влазиют слишком большие сообщения
|
||||
- [ ] Сделать отправку сообщения на Enter
|
||||
|
||||
|
||||
## ConnectorToServer
|
||||
|
||||
- [ ] MutexAccess
|
||||
- [ ] Запрос AMM и FIM xml продумать
|
||||
|
||||
|
||||
## Интерфейс
|
||||
|
||||
- [ ] Унифицировать терминологию
|
||||
- [ ] Не видно новых пришедших сообщений, если выбран другой Юзер
|
||||
|
||||
|
||||
## GUI общие
|
||||
|
||||
- [ ] Задержка после авторизации из-за запроса AMM, FIM
|
||||
- [ ] При обновлении деревьев слетает назначенная колонка сортировки
|
||||
- [ ] Введение логина только латиницей
|
||||
- [ ] Блокировка авторизации не работает при входе в редакторы И/О
|
||||
- [ ] Добавить текущий статус задачи в "Проверке задачи" (AMM, FIM)
|
||||
- [ ] Универсальный пересчет ширин колонок деревьев
|
||||
|
||||
|
||||
## Замечания Кирилл
|
||||
|
||||
- [ ] Создание БД из кода (если нет или слетела)
|
||||
- [ ] Кнопка открытия Персональной карты обучаемого
|
||||
- [ ] Смена пароля админом. Старый никому не виден (парольная политика)
|
||||
- [ ] Текстовый поиск в задачах
|
||||
|
||||
|
||||
|
||||
|
||||
%% kanban:settings
|
||||
```
|
||||
{"kanban-plugin":"board","list-collapse":[false,false,false,false,false,false,false,false,false]}
|
||||
{"kanban-plugin":"board","list-collapse":[false,false,false,false,false]}
|
||||
```
|
||||
%%
|
||||
6
DOCS/Андрей/Без названия.canvas
Normal file
6
DOCS/Андрей/Без названия.canvas
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"nodes":[
|
||||
{"id":"3e71087c4a5247a0","type":"file","file":"DBschem.png","x":-1134,"y":-740,"width":1494,"height":808}
|
||||
],
|
||||
"edges":[]
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
project(DataBaseLMS LANGUAGES CXX)
|
||||
|
||||
common_info_for_project(DataBaseLMS)
|
||||
|
||||
add_library(DataBaseLMS SHARED
|
||||
DataBaseLMS_global.h
|
||||
databaselms.cpp
|
||||
databaselms_tasks.cpp
|
||||
databaselms_groups.cpp
|
||||
databaselms_users.cpp
|
||||
databaselms_instructors.cpp
|
||||
databaselms_trainees.cpp
|
||||
databaselms.h
|
||||
interfacedatabaselms.cpp
|
||||
interfacedatabaselms.h
|
||||
basicentity.cpp
|
||||
basicentity.h
|
||||
user.cpp
|
||||
user.h
|
||||
instructor.cpp
|
||||
instructor.h
|
||||
trainee.cpp
|
||||
trainee.h
|
||||
group.cpp
|
||||
group.h
|
||||
computer.cpp
|
||||
computer.h
|
||||
classroom.cpp
|
||||
classroom.h
|
||||
tasksAmmFim.cpp
|
||||
tasksAmmFim.h
|
||||
typeQueryToDB.h
|
||||
timingoftrainee.cpp
|
||||
timingoftrainee.h
|
||||
contactModel.h
|
||||
resources.qrc
|
||||
)
|
||||
|
||||
target_link_libraries(DataBaseLMS PRIVATE Qt5::Widgets)
|
||||
target_link_libraries(DataBaseLMS PRIVATE Qt5::Sql)
|
||||
target_link_libraries(DataBaseLMS PRIVATE Qt5::Xml)
|
||||
|
||||
target_compile_definitions(DataBaseLMS PRIVATE DATABASELMS_LIBRARY)
|
||||
|
||||
if(PROJECT_TYPE_DEBUG)
|
||||
|
||||
add_custom_command(TARGET DataBaseLMS
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Debug64/DataBaseLMS/libDataBaseLMS.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/TestServerLMS)
|
||||
|
||||
add_custom_command(TARGET DataBaseLMS
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Debug64/DataBaseLMS/libDataBaseLMS.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/GUIdataBaseLMS)
|
||||
else()
|
||||
|
||||
add_custom_command(TARGET DataBaseLMS
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Release64/DataBaseLMS/libDataBaseLMS.dll
|
||||
${REPO_PATH}/BUILDS/Release64/TestServerLMS)
|
||||
|
||||
add_custom_command(TARGET DataBaseLMS
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Release64/DataBaseLMS/libDataBaseLMS.dll
|
||||
${REPO_PATH}/BUILDS/Release64/GUIdataBaseLMS)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
#include "tasksAmmFim.h"
|
||||
#include <QDomDocument>
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
|
||||
int TaskAmmFim::lastID = 1;
|
||||
|
||||
void TaskAmmFim::initialize(int id, QString type, QString title, QString status, QString created_date, QString changed_date)
|
||||
{
|
||||
this->id = id;
|
||||
this->type = type;
|
||||
this->title = title;
|
||||
this->status = status;
|
||||
this->created_date = created_date;
|
||||
this->changed_date = changed_date;
|
||||
}
|
||||
|
||||
void TaskAmmFim::addMalfunction(Malfunction malfunction)
|
||||
{
|
||||
malfunctionList.append(malfunction);
|
||||
}
|
||||
|
||||
void Malfunction::initialize(QString dmCode, QString num, QString description)
|
||||
{
|
||||
this->dmCode = dmCode;
|
||||
this->num = num;
|
||||
this->description = description;
|
||||
}
|
||||
|
||||
void Malfunction::addMalfunctionSign(MalfunctionSign sign)
|
||||
{
|
||||
malfunctionSigns.append(sign);
|
||||
}
|
||||
|
||||
void MalfunctionSign::initialize(int type, QString description)
|
||||
{
|
||||
this->type = type;
|
||||
this->description = description;
|
||||
}
|
||||
Binary file not shown.
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ru_RU">
|
||||
<context>
|
||||
<name>DataBaseLMS</name>
|
||||
<message>
|
||||
<location filename="../databaselms.cpp" line="93"/>
|
||||
<source>Attention!</source>
|
||||
<translation>Внимание!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../databaselms.cpp" line="93"/>
|
||||
<source>The file could not be opened:</source>
|
||||
<translation>Файл не может быть открыт:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InterfaceDataBaseLMS</name>
|
||||
<message>
|
||||
<location filename="../interfacedatabaselms.cpp" line="19"/>
|
||||
<source>Connection error</source>
|
||||
<translation>Ошибка подключения</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -66,7 +66,7 @@ QPushButton, QToolButton {
|
||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||
stop: 0 #f6f7fa, stop: 1 #dadbde);
|
||||
min-width: 75px;
|
||||
height: 50px;
|
||||
height: 55px;
|
||||
padding: 1px;
|
||||
|
||||
qproperty-iconSize: 32px;
|
||||
@@ -83,10 +83,22 @@ QToolButton {
|
||||
|
||||
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive,
|
||||
QToolButton#btnSave, QToolButton#btnUpdateStyle, QToolButton#btnSetVersion,
|
||||
QToolButton#btnAssignTask {
|
||||
width: 80px;
|
||||
QToolButton#btnAssignTask, QToolButton#btnCheckDB, QToolButton#btnRepare, QToolButton#btnDocsUpdating,
|
||||
QToolButton#btnAssign {
|
||||
width: 100px;
|
||||
height: 55px;
|
||||
}
|
||||
QToolButton#btnCheckDB, QToolButton#btnUpdateDocs {
|
||||
width: 100px;
|
||||
height: 55px;
|
||||
}
|
||||
|
||||
QToolButton#btnViewPassword, QToolButton#btnChangePassword {
|
||||
min-width: 18px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
QPushButton:flat, QToolButton:flat {
|
||||
border: none; /* no border for a flat push button */
|
||||
}
|
||||
@@ -122,7 +134,7 @@ QDialogButtonBox {
|
||||
QCheckBox {
|
||||
spacing: 20px;
|
||||
}
|
||||
QCheckBox#checkAutoStart {
|
||||
QCheckBox#checkAutoStart, QCheckBox#checkLocalhost {
|
||||
spacing: 0px;
|
||||
}
|
||||
|
||||
@@ -149,15 +161,14 @@ QTreeWidget::item {
|
||||
/*Бранчи*/
|
||||
QTreeWidget::branch:has-siblings:!adjoins-item {
|
||||
border-image: url(:/resources/icons/vline.png) 0;
|
||||
|
||||
}
|
||||
QTreeWidget::branch:has-siblings:adjoins-item {
|
||||
border-image: url(:/resources/icons/branch-more.png) 0;
|
||||
|
||||
}
|
||||
QTreeWidget::branch:!has-children:!has-siblings:adjoins-item {
|
||||
border-image: url(:/resources/icons/branch-end.png) 0;
|
||||
}
|
||||
|
||||
QTreeWidget::branch:closed:has-children:!has-siblings,
|
||||
QTreeWidget::branch:closed:has-children:has-siblings {
|
||||
border-image: none;
|
||||
@@ -172,12 +183,26 @@ QTreeWidget::branch:open:has-children:has-siblings {
|
||||
QTreeWidget::item:hover,
|
||||
QTreeWidget::branch:hover {
|
||||
background: #aee1ff;
|
||||
background: #C0EEEE;
|
||||
}
|
||||
|
||||
QTreeWidget::item:selected {
|
||||
/*background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc);*/
|
||||
background: #6ea1f1;
|
||||
color: #ffffff;
|
||||
background: #A0CECE;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
|
||||
QTreeWidget::indicator:checked {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
image: url(:/resources/icons/chekYes.png);
|
||||
}
|
||||
QTreeWidget::indicator:!checked {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
image: url(:/resources/icons/chekNo.png);
|
||||
}
|
||||
|
||||
|
||||
@@ -227,6 +252,9 @@ QTabBar::tab {
|
||||
|
||||
font-size: 12pt;
|
||||
|
||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -239,16 +267,17 @@ QTabBar::tab:selected {
|
||||
}
|
||||
*/
|
||||
QTabBar::tab:selected {
|
||||
background: #ffffff;
|
||||
/*background: #ffffff;*/
|
||||
}
|
||||
QTabBar::tab:!selected {
|
||||
margin-top: 5px; /* make non-selected tabs look smaller */
|
||||
margin-top: 10px; /* make non-selected tabs look smaller */
|
||||
/*background: #ffffff;*/
|
||||
}
|
||||
|
||||
|
||||
QTabBar::tab:hover {
|
||||
background: #aee1ff;
|
||||
background: #C0EEEE;
|
||||
}
|
||||
|
||||
QTabBar::scroller { /* the width of the scroll buttons */
|
||||
@@ -264,11 +293,15 @@ QTabBar QToolButton { /* the scroll buttons are tool buttons */
|
||||
QListWidget::item {
|
||||
/*padding: -5px;*/
|
||||
}
|
||||
QListWidget {
|
||||
/*background: pink;*/
|
||||
background: transparent;
|
||||
/*background: #ffffff;*/
|
||||
background: #ddeeff;
|
||||
QListWidget#oneDialogMessenger {
|
||||
/*background: #ddeeff;*/
|
||||
|
||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
||||
}
|
||||
|
||||
QListWidget#subProcItemListWidget::item:hover {
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
QTextEdit {
|
||||
@@ -279,6 +312,7 @@ QTextEdit {
|
||||
QTextEdit#editMsg {
|
||||
height: 65px; /**/
|
||||
background: #ddeeff;
|
||||
background: #ffffff;
|
||||
}
|
||||
QTextEdit#MsgWidgetEditTextLocal {
|
||||
/*background: tlightgreen;*/
|
||||
@@ -318,6 +352,9 @@ QLabel#MessangerWidgetLblUser {
|
||||
background: #ddeeff;
|
||||
padding-left: 4px;
|
||||
border-radius: 8px;
|
||||
|
||||
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
|
||||
stop: 0 #A0CECE, stop: 1 #FFFFFF);
|
||||
}
|
||||
QLabel#MessangerWidgetLblAvatar {
|
||||
|
||||
@@ -326,8 +363,14 @@ QLabel#MessangerWidgetLblLoggedIn {
|
||||
|
||||
}
|
||||
|
||||
QWidget {
|
||||
|
||||
QLabel#PersonalCard_lblName {
|
||||
font-size: 16pt;
|
||||
}
|
||||
|
||||
|
||||
QWidget#widgetControl {
|
||||
background: #E0E0E0;
|
||||
}
|
||||
|
||||
QPlainTextEdit#plainText{ /*Репорт*/
|
||||
BIN
FILES/DB_BACKUP/DBLMS_EMPTY.backup
Normal file
BIN
FILES/DB_BACKUP/DBLMS_EMPTY.backup
Normal file
Binary file not shown.
4
FILES/config_ProgramAWSinstructorMPS/settings.xml
Normal file
4
FILES/config_ProgramAWSinstructorMPS/settings.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ServerSettingsContainer>
|
||||
<ServerSettings Address="192.168.100.82" Port="6000" Language="RUS" AutoStart="0"/>
|
||||
</ServerSettingsContainer>
|
||||
4
FILES/config_ProgramServerMPS/settings.xml
Normal file
4
FILES/config_ProgramServerMPS/settings.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ServerSettingsContainer>
|
||||
<DataBaseSettings Type="QPSQL" Name="rrjdatabase" UserName="rrjuser" Password="rrjuser" HostName="localhost" Port="5432" Language="RUS"/>
|
||||
</ServerSettingsContainer>
|
||||
@@ -1,40 +0,0 @@
|
||||
project(GUIdataBaseLMS LANGUAGES CXX)
|
||||
|
||||
common_info_for_project(GUIdataBaseLMS)
|
||||
|
||||
add_executable(GUIdataBaseLMS
|
||||
main.cpp
|
||||
mainwindow.cpp
|
||||
mainwindow.h
|
||||
mainwindow.ui
|
||||
GUIdataBaseLMS.qrc
|
||||
)
|
||||
|
||||
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Widgets)
|
||||
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Sql)
|
||||
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Xml)
|
||||
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Network)
|
||||
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/instructors)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/trainees)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/tasks)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/docTasks)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/connectorToServer)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/connectorToServer/Core)
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/messanger)
|
||||
if(PROJECT_TYPE_DEBUG)
|
||||
target_link_directories(GUIdataBaseLMS PUBLIC ${REPO_PATH}/BUILDS/Debug64/InstructorsAndTrainees)
|
||||
else()
|
||||
target_link_directories(GUIdataBaseLMS PUBLIC ${REPO_PATH}/BUILDS/Release64/InstructorsAndTrainees)
|
||||
endif()
|
||||
target_link_libraries(GUIdataBaseLMS PRIVATE libInstructorsAndTrainees.dll)
|
||||
|
||||
|
||||
target_include_directories(GUIdataBaseLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../DataBaseLMS)
|
||||
if(PROJECT_TYPE_DEBUG)
|
||||
target_link_directories(GUIdataBaseLMS PUBLIC ${REPO_PATH}/BUILDS/Debug64/DataBaseLMS)
|
||||
else()
|
||||
target_link_directories(GUIdataBaseLMS PUBLIC ${REPO_PATH}/BUILDS/Release64/DataBaseLMS)
|
||||
endif()
|
||||
target_link_libraries(GUIdataBaseLMS PRIVATE libDataBaseLMS.dll)
|
||||
@@ -1,5 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>resources/lms.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
Binary file not shown.
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ru_RU">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.ui" line="19"/>
|
||||
<source>Learning management system (LMS)</source>
|
||||
<translation>Система управления обучением (СУО)</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -1,12 +0,0 @@
|
||||
#include "notifycontroller.h"
|
||||
#include "specialmessagebox.h"
|
||||
|
||||
NotifyController::NotifyController(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void NotifyController::showWarning(QString text)
|
||||
{
|
||||
SpecialMessageBox(nullptr, SpecialMessageBox::TypeSpecMsgBox::warningClose, text).exec();
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
#ifndef NOTIFYCONTROLLER_H
|
||||
#define NOTIFYCONTROLLER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMessageBox>
|
||||
|
||||
class NotifyController : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit NotifyController(QObject *parent = nullptr);
|
||||
|
||||
void showWarning(QString text);
|
||||
signals:
|
||||
|
||||
};
|
||||
|
||||
#endif // NOTIFYCONTROLLER_H
|
||||
@@ -1,531 +0,0 @@
|
||||
#include "connectortoserver.h"
|
||||
#include <QThread>
|
||||
|
||||
ConnectorToServer::ConnectorToServer(QWidget* parentWidget, QObject *parent) :
|
||||
QObject(parent),
|
||||
parentWidget(parentWidget),
|
||||
connectionThread(nullptr),
|
||||
client(nullptr),
|
||||
dataParser(nullptr),
|
||||
sendSystem(nullptr),
|
||||
recognizeSystem(nullptr),
|
||||
versionSelectWidget(nullptr),
|
||||
versionContainer(nullptr),
|
||||
notifyController(nullptr),
|
||||
fl_GetedOfflineMessages(false)
|
||||
{
|
||||
initialize();
|
||||
}
|
||||
|
||||
ConnectorToServer::~ConnectorToServer()
|
||||
{
|
||||
delete client;
|
||||
delete versionSelectWidget;
|
||||
delete notifyController;
|
||||
delete versionContainer;
|
||||
delete recognizeSystem;
|
||||
delete sendSystem;
|
||||
delete dataParser;
|
||||
|
||||
connectionThread->quit();
|
||||
connectionThread->wait();
|
||||
delete connectionThread;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::authorizationInstructorLocal(QString login, QString password)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientAutorization *autorization = new ClientAutorization;
|
||||
autorization->Login = login;
|
||||
autorization->Password = password;
|
||||
autorization->TypeClient = TypeClientAutorization::TYPE_GUI;
|
||||
|
||||
QByteArray array = dataParser->createAuthMessage(autorization);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::deAuthorizationInstructorLocal(QString login)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientDeAutorization *deAutorization = new ClientDeAutorization;
|
||||
deAutorization->Login = login;
|
||||
|
||||
QByteArray array = dataParser->createDeAuthMessage(deAutorization);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendQueryToDB(TypeQueryToDB typeQuery, int id, void* data)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClientQueryToDB *queryToDB = new ClientQueryToDB;
|
||||
queryToDB->typeQuery = typeQuery;
|
||||
|
||||
QByteArray array = dataParser->createQueryToDBMessage(queryToDB, id, data);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
QByteArray array = dataParser->createMessage(clientMessage);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::sendClientNotify(QString command)
|
||||
{
|
||||
QByteArray answer = dataParser->xmlAnswer_notify(command);
|
||||
emit sigSendAnswerToServer(answer);
|
||||
return true;
|
||||
}
|
||||
bool ConnectorToServer::sendQueryTasksXML(QString type)
|
||||
{
|
||||
if (!client->getIsConnected())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray array = dataParser->createQueryTasksXMLMessage(type);
|
||||
emit sigSendAnswerToServer(array);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ConnectorToServer::setLoginName(QString name)
|
||||
{
|
||||
versionSelectWidget->setAuthor(name);
|
||||
}
|
||||
|
||||
ServerSettings ConnectorToServer::getServerSettings()
|
||||
{
|
||||
return serverSettings;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::getIsConnected()
|
||||
{
|
||||
return client->getIsConnected();
|
||||
}
|
||||
|
||||
void ConnectorToServer::SetConnectToServer()
|
||||
{
|
||||
serverSettings = *dataParser->getServerSettings();
|
||||
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||
}
|
||||
|
||||
void ConnectorToServer::StopConnectToServer()
|
||||
{
|
||||
emit sigStopConnect();
|
||||
clearListModelDB();
|
||||
}
|
||||
|
||||
QByteArray ConnectorToServer::getListTaskFimArray()
|
||||
{
|
||||
return listTaskFimArray;
|
||||
}
|
||||
|
||||
QByteArray ConnectorToServer::getListTaskAmmArray()
|
||||
{
|
||||
return listTaskAmmArray;
|
||||
}
|
||||
|
||||
QList<Instructor> ConnectorToServer::getListInstructors()
|
||||
{
|
||||
return listInstructors;
|
||||
}
|
||||
|
||||
QList<Trainee> ConnectorToServer::getListTrainees()
|
||||
{
|
||||
return listTrainees;
|
||||
}
|
||||
|
||||
QList<Group> ConnectorToServer::getListGroups()
|
||||
{
|
||||
return listGroups;
|
||||
}
|
||||
|
||||
QList<Computer> ConnectorToServer::getListComputers()
|
||||
{
|
||||
return listComputers;
|
||||
}
|
||||
|
||||
QList<Classroom> ConnectorToServer::getListClassrooms()
|
||||
{
|
||||
return listClassrooms;
|
||||
}
|
||||
|
||||
QList<TaskAmmFim> ConnectorToServer::getListTasksAMMforTrainee(int trainee_id)
|
||||
{
|
||||
if(mapTasksAMM.contains(trainee_id))
|
||||
return mapTasksAMM.value(trainee_id);
|
||||
else
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
QList<TaskAmmFim> ConnectorToServer::getListTasksFIMforTrainee(int trainee_id)
|
||||
{
|
||||
if(mapTasksFIM.contains(trainee_id))
|
||||
return mapTasksFIM.value(trainee_id);
|
||||
else
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
int ConnectorToServer::getCountTasksAMMforTrainee(int trainee_id)
|
||||
{
|
||||
if(mapTasksAMM.contains(trainee_id))
|
||||
return mapTasksAMM.value(trainee_id).count();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ConnectorToServer::getCountTasksFIMforTrainee(int trainee_id)
|
||||
{
|
||||
if(mapTasksFIM.contains(trainee_id))
|
||||
return mapTasksFIM.value(trainee_id).count();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::isArchivedInstructor(int id)
|
||||
{
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
if(instructor.getID() == id)
|
||||
{
|
||||
if(instructor.getArchived()) return true; else return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::isAdminInstructor(int id)
|
||||
{
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
if(instructor.getID() == id)
|
||||
{
|
||||
if(instructor.getIsAdmin()) return true; else return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::isLoggedInInstructor(int id)
|
||||
{
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
if(instructor.getID() == id)
|
||||
{
|
||||
if(instructor.getLoggedIn()) return true; else return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Instructor ConnectorToServer::getInstructor(int id)
|
||||
{
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
if(instructor.getID() == id)
|
||||
return instructor;
|
||||
}
|
||||
return Instructor();
|
||||
}
|
||||
|
||||
QList<Trainee> ConnectorToServer::getListTraineesInGroup(int id)
|
||||
{
|
||||
QList<Trainee> list;
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getGroup().getID() == id)
|
||||
list.append(trainee);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::isArchivedTrainee(int id)
|
||||
{
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getID() == id)
|
||||
{
|
||||
if(trainee.getArchived()) return true; else return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::isLoggedInTrainee(int id)
|
||||
{
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getID() == id)
|
||||
{
|
||||
if(trainee.getLoggedIn()) return true; else return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Trainee ConnectorToServer::getTrainee(int id)
|
||||
{
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getID() == id)
|
||||
return trainee;
|
||||
}
|
||||
return Trainee();
|
||||
}
|
||||
|
||||
Group ConnectorToServer::getGroup(int id)
|
||||
{
|
||||
for(Group group : listGroups)
|
||||
{
|
||||
if(group.getID() == id)
|
||||
return group;
|
||||
}
|
||||
return Group();
|
||||
}
|
||||
|
||||
int ConnectorToServer::getIdTraineeByLogin(QString login)
|
||||
{
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
if(trainee.getLogin() == login)
|
||||
return trainee.getID();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ConnectorToServer::getIdInstructorByLogin(QString login)
|
||||
{
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
if(instructor.getLogin() == login)
|
||||
return instructor.getID();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ConnectorToServer::showVersionSelect()
|
||||
{
|
||||
QByteArray answer = dataParser->xmlAnswer_notify(cmd_CheckVersionList);
|
||||
emit sigSendAnswerToServer(answer);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors)
|
||||
{
|
||||
this->listInstructors = listInstructors;
|
||||
emit signal_UpdateDB(true, false);
|
||||
|
||||
QList<User> listUsers;
|
||||
for(Instructor instructor : listInstructors)
|
||||
{
|
||||
listUsers.append(instructor);
|
||||
}
|
||||
emit signal_reInitMessangerByUsers(listUsers);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListGroups(QList<Group> listGroups)
|
||||
{
|
||||
this->listGroups = listGroups;
|
||||
emit signal_UpdateDB(false, true);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTrainees)
|
||||
{
|
||||
this->listTrainees = listTrainees;
|
||||
emit signal_UpdateDB(false, true);
|
||||
|
||||
QList<User> listUsers;
|
||||
for(Trainee trainee : listTrainees)
|
||||
{
|
||||
listUsers.append(trainee);
|
||||
}
|
||||
emit signal_reInitMessangerByUsers(listUsers);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListComputers(QList<Computer> listComputers)
|
||||
{
|
||||
this->listComputers = listComputers;
|
||||
//emit signal_UpdateDB(false, true); //TODO
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms)
|
||||
{
|
||||
this->listClassrooms = listClassrooms;
|
||||
//emit signal_UpdateDB(false, true); //TODO
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||
{
|
||||
//Удаляем старые задачи этого обучаемого
|
||||
mapTasksAMM.remove(trainee_id);
|
||||
|
||||
//Добавляем новые
|
||||
mapTasksAMM.insert(trainee_id, listTasks);
|
||||
|
||||
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||
{
|
||||
//Удаляем старые задачи этого обучаемого
|
||||
mapTasksFIM.remove(trainee_id);
|
||||
|
||||
//Добавляем новые
|
||||
mapTasksFIM.insert(trainee_id, listTasks);
|
||||
|
||||
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
||||
{
|
||||
this->listTaskFimArray = array;
|
||||
emit signal_UpdateTasksFIM();
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryTasksXML_AMM(QByteArray array)
|
||||
{
|
||||
this->listTaskAmmArray = array;
|
||||
emit signal_UpdateTasksAMM();
|
||||
|
||||
//Запрос старых оффлайн-сообщений
|
||||
if(!fl_GetedOfflineMessages)
|
||||
{
|
||||
sendClientNotify(cmd_GetOfflineMessages);
|
||||
fl_GetedOfflineMessages = true;
|
||||
}
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
sendMessage(clientMessage);
|
||||
}
|
||||
|
||||
void ConnectorToServer::showServerList(QList<StreamingVersionData *> *serverList)
|
||||
{
|
||||
versionSelectWidget->fillView(serverList);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_HashReady()
|
||||
{
|
||||
//sendQueryTasksXML("fim");
|
||||
//sendQueryTasksXML("amm");
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_Auth(ServerAuthorization *serverAuth)
|
||||
{
|
||||
this->serverAuth = *serverAuth;
|
||||
emit sigLoginResult(serverAuth);
|
||||
}
|
||||
|
||||
void ConnectorToServer::initialize()
|
||||
{
|
||||
createObjects();
|
||||
|
||||
bindConnection();
|
||||
|
||||
emit sigInitializeClient(recognizeSystem,sendSystem,connectionThread);
|
||||
|
||||
SetConnectToServer();
|
||||
}
|
||||
|
||||
void ConnectorToServer::bindConnection()
|
||||
{
|
||||
connect(this,&ConnectorToServer::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigStopConnect,client,&TCPClient::setDisconnect,Qt::AutoConnection);
|
||||
|
||||
//Sconnect(this,&ConnectorToServer::signal_sendXMLmsgGUItoServer,sendSystem,&SendSystem::sendXMLmsgGUItoServer);
|
||||
connect(this,&ConnectorToServer::sigSendAnswerToServer,sendSystem,&SendSystem::sendXMLAnswer,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAuth,this,&ConnectorToServer::slot_Auth); // ::sigLoginResult);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigDeAuth,this,&ConnectorToServer::sigDeLoginResult);
|
||||
connect(recognizeSystem,&RecognizeSystem::signal_ReceiveMessage,this,&ConnectorToServer::signal_receiveMessage,Qt::AutoConnection);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigShowServerDataList,this,&ConnectorToServer::showServerList);
|
||||
connect (recognizeSystem,&RecognizeSystem::sigSetVersion,versionContainer,&VersionContainer::setServerVersionData);
|
||||
//connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB,this,&ConnectorToServer::slot_AnswerQueryToDB);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListInstructors,this,&ConnectorToServer::slot_AnswerQueryToDB_ListInstructors);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListGroups,this,&ConnectorToServer::slot_AnswerQueryToDB_ListGroups);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTrainees,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTrainees);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListComputers,this,&ConnectorToServer::slot_AnswerQueryToDB_ListComputers);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListClassrooms,this,&ConnectorToServer::slot_AnswerQueryToDB_ListClassrooms);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksAMMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksFIMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_FIM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_FIM);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_AMM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_AMM);
|
||||
|
||||
connect(client,&TCPClient::signal_ConnectedToServer,this,&ConnectorToServer::signal_ConnectedToServer,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigNotify,notifyController,&NotifyController::showWarning,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigHashReady,this,&ConnectorToServer::slot_HashReady);
|
||||
}
|
||||
|
||||
void ConnectorToServer::createObjects()
|
||||
{
|
||||
connectionThread = new QThread;
|
||||
|
||||
client = new TCPClient;
|
||||
client->moveToThread(connectionThread);
|
||||
|
||||
dataParser = new DataParser;
|
||||
|
||||
sendSystem = new SendSystem;
|
||||
sendSystem->moveToThread(connectionThread);
|
||||
|
||||
recognizeSystem = new RecognizeSystem;
|
||||
recognizeSystem->moveToThread(connectionThread);
|
||||
|
||||
notifyController = new NotifyController;
|
||||
versionContainer = new VersionContainer;
|
||||
versionSelectWidget = new VersionSelectWidget(parentWidget);
|
||||
versionSelectWidget->initialize(sendSystem,versionContainer,notifyController, recognizeSystem);
|
||||
|
||||
connectionThread->start();
|
||||
connectionThread->setPriority(QThread::HighestPriority);
|
||||
}
|
||||
|
||||
void ConnectorToServer::clearListModelDB()
|
||||
{
|
||||
listInstructors.clear();
|
||||
listGroups.clear();
|
||||
listTrainees.clear();
|
||||
listComputers.clear();
|
||||
listClassrooms.clear();
|
||||
mapTasksAMM.clear();
|
||||
mapTasksFIM.clear();
|
||||
|
||||
listTaskFimArray.clear();
|
||||
listTaskAmmArray.clear();
|
||||
}
|
||||
|
||||
SendSystem *ConnectorToServer::getSendSystem() const
|
||||
{
|
||||
return sendSystem;
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
#include "dialogauthorizationinstructor.h"
|
||||
#include "ui_dialogauthorizationinstructor.h"
|
||||
|
||||
DialogAuthorizationInstructor::DialogAuthorizationInstructor(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::DialogAuthorizationInstructor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->editLogin->setProperty("mandatoryField", true);
|
||||
ui->editPassword->setProperty("mandatoryField", true);
|
||||
|
||||
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password);
|
||||
|
||||
#ifdef PROJECT_TYPE_DEBUG
|
||||
ui->editLogin->setText("admin");
|
||||
ui->editPassword->setText("admin");
|
||||
#endif
|
||||
}
|
||||
|
||||
DialogAuthorizationInstructor::~DialogAuthorizationInstructor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void DialogAuthorizationInstructor::on_btnLogIn_clicked()
|
||||
{
|
||||
this->accept();
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
#ifndef DIALOGAUTHORIZATIONINSTRUCTOR_H
|
||||
#define DIALOGAUTHORIZATIONINSTRUCTOR_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "ui_dialogauthorizationinstructor.h"
|
||||
|
||||
namespace Ui {
|
||||
class DialogAuthorizationInstructor;
|
||||
}
|
||||
|
||||
class DialogAuthorizationInstructor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DialogAuthorizationInstructor(QWidget *parent = nullptr);
|
||||
~DialogAuthorizationInstructor();
|
||||
|
||||
public:
|
||||
QString getLogin()
|
||||
{
|
||||
return ui->editLogin->text();
|
||||
}
|
||||
|
||||
QString getPassword()
|
||||
{
|
||||
return ui->editPassword->text();
|
||||
}
|
||||
|
||||
private slots:
|
||||
void on_btnLogIn_clicked();
|
||||
|
||||
private:
|
||||
Ui::DialogAuthorizationInstructor *ui;
|
||||
};
|
||||
|
||||
#endif // DIALOGAUTHORIZATIONINSTRUCTOR_H
|
||||
@@ -1,35 +0,0 @@
|
||||
#ifndef SPECIALMESSAGEBOX_H
|
||||
#define SPECIALMESSAGEBOX_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace Ui {
|
||||
class SpecialMessageBox;
|
||||
}
|
||||
|
||||
class SpecialMessageBox : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum TypeSpecMsgBox {
|
||||
warningYesNo,
|
||||
warningClose,
|
||||
critical,
|
||||
info
|
||||
};
|
||||
|
||||
public:
|
||||
explicit SpecialMessageBox(QWidget *parent, TypeSpecMsgBox type, const QString& text);
|
||||
~SpecialMessageBox();
|
||||
|
||||
private slots:
|
||||
void on_btnYes_clicked();
|
||||
|
||||
void on_btnNo_clicked();
|
||||
|
||||
private:
|
||||
Ui::SpecialMessageBox *ui;
|
||||
};
|
||||
|
||||
#endif // SPECIALMESSAGEBOX_H
|
||||
@@ -1,371 +0,0 @@
|
||||
#include <QFile>
|
||||
#include <QXmlStreamReader>
|
||||
#include <QDomDocument>
|
||||
#include <QMessageBox>
|
||||
#include <QThread>
|
||||
#include <QResizeEvent>
|
||||
#include "ammtaskswidget.h"
|
||||
#include "ui_ammtaskswidget.h"
|
||||
#include "checkertask.h"
|
||||
#include "specialmessagebox.h"
|
||||
|
||||
AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTreeAMMFIM type, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::AMMtasksWidget),
|
||||
connectorToServer(connectorToServer),
|
||||
treeWidget(nullptr),
|
||||
type(type),
|
||||
idTraineeSelected(0),
|
||||
threadPreparation(nullptr),
|
||||
taskTreePreparation(nullptr),
|
||||
waitAnimationWidget(nullptr),
|
||||
dlgCheckerTask(nullptr),
|
||||
flOnlyActive(false)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
qDebug() << "AMMtasksWidget init thread ID " << QThread::currentThreadId();
|
||||
|
||||
treeWidget = new QTreeWidget();
|
||||
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
||||
|
||||
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &AMMtasksWidget::on_treeWidgetCurrentItemChanged);
|
||||
|
||||
preparationTreeWidget();
|
||||
|
||||
threadPreparation = new QThread();
|
||||
taskTreePreparation = new TaskAMMFIMTreePreparation(type);
|
||||
taskTreePreparation->moveToThread(threadPreparation);
|
||||
threadPreparation->start();
|
||||
threadPreparation->setPriority(QThread::HighestPriority);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItems, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareAMMListItems);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItemsForTrainee, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
|
||||
connect(this, &AMMtasksWidget::signal_stopParserPreparation, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_stopParserPreparation);
|
||||
|
||||
waitAnimationWidget = new WaitAnimationWidget;
|
||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||
waitAnimationWidget->setParent(this);
|
||||
waitAnimationWidget->initialize(movie,this);
|
||||
|
||||
ui->btnDelete->setObjectName("btnDelete");
|
||||
ui->btnDelete->setEnabled(false);
|
||||
ui->btnCheck->setObjectName("btnCheck");
|
||||
ui->btnCheck->setEnabled(false);
|
||||
ui->btnOnlyActive->setObjectName("btnOnlyActive");
|
||||
ui->btnOnlyActive->setEnabled(false);
|
||||
ui->btnAssignTask->setObjectName("btnAssignTask");
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
//ui->horizontalLayout_3->addWidget(ui->btnAssignTask);
|
||||
//ui->horizontalLayout_3->addWidget(ui->btnOnlyActive);
|
||||
//ui->horizontalLayout_3->addWidget(ui->btnCheck);
|
||||
//ui->horizontalLayout_3->addWidget(ui->btnDelete);
|
||||
//ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
|
||||
|
||||
ui->btnDelete->setVisible(false);
|
||||
ui->btnCheck->setVisible(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->btnOnlyActive->setVisible(false);
|
||||
ui->btnAssignTask->setVisible(false);
|
||||
|
||||
//ui->verticalLayout->setAlignment(Qt::AlignmentFlag::AlignBottom);
|
||||
//ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
|
||||
}
|
||||
|
||||
//ui->btnCheck->setVisible(false);
|
||||
}
|
||||
|
||||
AMMtasksWidget::~AMMtasksWidget()
|
||||
{
|
||||
waitAnimationWidget->hideWithStop();
|
||||
emit signal_stopParserPreparation();
|
||||
|
||||
threadPreparation->quit();
|
||||
threadPreparation->wait();
|
||||
|
||||
delete threadPreparation;
|
||||
|
||||
delete taskTreePreparation;
|
||||
delete waitAnimationWidget;
|
||||
delete treeWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void AMMtasksWidget::deactivate()
|
||||
{
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
ui->btnOnlyActive->setEnabled(false);
|
||||
treeWidget->clear();
|
||||
idTraineeSelected = 0;
|
||||
}
|
||||
|
||||
void AMMtasksWidget::waitAnimationWidgetShowWithPlay()
|
||||
{
|
||||
waitAnimationWidget->showWithPlay();
|
||||
}
|
||||
|
||||
void AMMtasksWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
QSize size = event->size();
|
||||
waitAnimationWidget->resize(size);
|
||||
|
||||
int width = treeWidget->width();
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_ID, 50);
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_code, 250);
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_status, 130);
|
||||
|
||||
int widthPMorDM;
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
widthPMorDM = width - (270 + 10);
|
||||
else
|
||||
{
|
||||
#ifdef PROJECT_TYPE_DEBUG
|
||||
widthPMorDM = width - (430 + 10);
|
||||
#else
|
||||
widthPMorDM = width - (380 + 10);
|
||||
#endif
|
||||
}
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, widthPMorDM);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::closeDlgCheckTask()
|
||||
{
|
||||
if(dlgCheckerTask)
|
||||
dlgCheckerTask->close();
|
||||
}
|
||||
|
||||
void AMMtasksWidget::changeEvent(QEvent *event)
|
||||
{
|
||||
// В случае получения события изменения языка приложения
|
||||
if (event->type() == QEvent::LanguageChange)
|
||||
{// переведём окно заново
|
||||
ui->retranslateUi(this);
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
//slot_NeedUpdateUI();
|
||||
}
|
||||
else if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
if(idTraineeSelected)
|
||||
slot_UpdateTasksAMMforTrainee(idTraineeSelected);
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
|
||||
{
|
||||
if(current == nullptr)
|
||||
{
|
||||
ui->btnDelete->setEnabled(false);
|
||||
ui->btnCheck->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->btnCheck->setEnabled(true);
|
||||
ui->btnDelete->setEnabled(true);
|
||||
}
|
||||
|
||||
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
if(taskTreePreparation->getTypeModuleAMMbyID(id) == ModuleType::TYPE_PM)
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
else
|
||||
ui->btnAssignTask->setEnabled(true);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::slot_NeedUpdateUI()
|
||||
{
|
||||
qDebug() << "AMMtasksWidget::slot_NeedUpdateUI thread ID " << QThread::currentThreadId();
|
||||
loadTasksAMM();
|
||||
}
|
||||
|
||||
void AMMtasksWidget::slot_traineeSelected(int id_trainee)
|
||||
{
|
||||
qDebug() << "AMMtasksWidget::slot_traineeSelected thread ID " << QThread::currentThreadId();
|
||||
|
||||
idTraineeSelected = id_trainee;
|
||||
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
{
|
||||
waitAnimationWidget->showWithPlay();
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE, idTraineeSelected);
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id)
|
||||
{
|
||||
qDebug() << "slot_UpdateTasksAMMforTrainee" << QThread::currentThreadId();
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
{
|
||||
if(idTraineeSelected == trainee_id)
|
||||
{
|
||||
QList<TaskAmmFim> listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id);
|
||||
signal_prepareAMMListItemsForTrainee(listTask);
|
||||
|
||||
emit signal_countTasksAMMforTraineeChanged(trainee_id, listTask.count());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::loadTasksAMM(bool flRequestFirst)
|
||||
{
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
waitAnimationWidget->showWithPlay();
|
||||
|
||||
QByteArray arrayAMM;
|
||||
|
||||
//if(flRequestFirst)
|
||||
arrayAMM = connectorToServer->getListTaskAmmArray();
|
||||
|
||||
emit signal_prepareAMMListItems(arrayAMM, flOnlyActive, flRequestFirst);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
{
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
for(QTreeWidgetItem * item : listItems)
|
||||
treeWidget->addTopLevelItem(item);
|
||||
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||
if(item != nullptr)
|
||||
treeWidget->setCurrentItem(item);
|
||||
|
||||
waitAnimationWidget->hideWithStop();
|
||||
|
||||
ui->btnOnlyActive->setEnabled(true);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::preparationTreeWidget()
|
||||
{
|
||||
treeWidget->setColumnCount(clmnAMM_count);
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef PROJECT_TYPE_DEBUG
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, false);
|
||||
#else
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders;
|
||||
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("ID"), tr("Status")};
|
||||
else
|
||||
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("ID"), tr("Status")};
|
||||
|
||||
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::assignTaskAMMtoTrainee()
|
||||
{
|
||||
QTreeWidgetItem *current = treeWidget->currentItem();
|
||||
|
||||
if(current == nullptr)
|
||||
return;
|
||||
|
||||
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
TaskAmmFim taskNew = taskTreePreparation->getTaskAMMbyID(id);
|
||||
|
||||
if(taskNew.getID())
|
||||
{
|
||||
emit signal_AssignedTask();
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &taskNew);
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnDelete_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent != nullptr)
|
||||
{
|
||||
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана задача
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("The deletion will be irrevocable.\nDelete it anyway?")).exec() == QDialog::Accepted)
|
||||
{
|
||||
waitAnimationWidget->showWithPlay();
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_TASK_AMM_TO_TRAINEE, id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnCheck_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent != nullptr)
|
||||
{//Выбрана задача
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
|
||||
|
||||
if(!task.getID())
|
||||
return;
|
||||
|
||||
dlgCheckerTask = new DialogChekerTask(connectorToServer, "amm", this);
|
||||
dlgCheckerTask->setTask(&task);
|
||||
dlgCheckerTask->exec();
|
||||
|
||||
if(dlgCheckerTask->getFlChanged())
|
||||
waitAnimationWidget->showWithPlay();
|
||||
|
||||
if(dlgCheckerTask)
|
||||
{
|
||||
delete dlgCheckerTask;
|
||||
dlgCheckerTask = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnAssignTask_clicked()
|
||||
{
|
||||
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted)
|
||||
assignTaskAMMtoTrainee();
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnOnlyActive_clicked()
|
||||
{
|
||||
if(ui->btnOnlyActive->isChecked())
|
||||
{
|
||||
flOnlyActive = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
flOnlyActive = false;
|
||||
}
|
||||
loadTasksAMM(false);
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
#include "dialogedittrainee.h"
|
||||
#include "ui_dialogedittrainee.h"
|
||||
#include <QPushButton>
|
||||
|
||||
DialogEditTrainee::DialogEditTrainee(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::DialogEditTrainee),
|
||||
traineeInput()
|
||||
{
|
||||
ui->setupUi(this);
|
||||
verify();
|
||||
|
||||
ui->editName->setProperty("mandatoryField", true);
|
||||
ui->editLogin->setProperty("mandatoryField", true);
|
||||
ui->editPassword->setProperty("mandatoryField", true);
|
||||
}
|
||||
|
||||
DialogEditTrainee::~DialogEditTrainee()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void DialogEditTrainee::setTrainee(Trainee trainee)
|
||||
{
|
||||
traineeInput = trainee;
|
||||
|
||||
ui->editName->setText(trainee.getName());
|
||||
ui->editLogin->setText(trainee.getLogin());
|
||||
ui->editPassword->setText(trainee.getPassword());
|
||||
|
||||
ui->checkArchived->setChecked(trainee.getArchived());
|
||||
ui->checkLoggedIn->setChecked(trainee.getLoggedIn());
|
||||
|
||||
ui->btnOK->setEnabled(false);
|
||||
}
|
||||
|
||||
Trainee DialogEditTrainee::getTrainee()
|
||||
{
|
||||
Trainee trainee = traineeInput;
|
||||
|
||||
trainee.setName(ui->editName->text());
|
||||
trainee.setLogin(ui->editLogin->text());
|
||||
trainee.setPassword(ui->editPassword->text());
|
||||
|
||||
trainee.setArchived(ui->checkArchived->isChecked());
|
||||
trainee.setLoggedIn(ui->checkLoggedIn->isChecked());
|
||||
|
||||
return trainee;
|
||||
}
|
||||
|
||||
void DialogEditTrainee::on_editName_textChanged(const QString &arg1)
|
||||
{
|
||||
verify();
|
||||
}
|
||||
|
||||
void DialogEditTrainee::on_editLogin_textChanged(const QString &arg1)
|
||||
{
|
||||
verify();
|
||||
}
|
||||
|
||||
void DialogEditTrainee::on_editPassword_textChanged(const QString &arg1)
|
||||
{
|
||||
verify();
|
||||
}
|
||||
|
||||
void DialogEditTrainee::verify()
|
||||
{
|
||||
if(ui->editName->text().trimmed() == QStringLiteral("") ||
|
||||
ui->editLogin->text().trimmed() == QStringLiteral("") ||
|
||||
ui->editPassword->text().trimmed() == QStringLiteral(""))
|
||||
ui->btnOK->setEnabled(false);
|
||||
else
|
||||
ui->btnOK->setEnabled(true);
|
||||
}
|
||||
|
||||
void DialogEditTrainee::on_btnOK_clicked()
|
||||
{
|
||||
this->accept();
|
||||
}
|
||||
Binary file not shown.
@@ -1,44 +0,0 @@
|
||||
#include "newversionwidget.h"
|
||||
#include "ui_newversionwidget.h"
|
||||
|
||||
NewVersionWidget::NewVersionWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::NewVersionWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::SubWindow);
|
||||
setAttribute(Qt::WA_ShowModal,true);
|
||||
}
|
||||
|
||||
void NewVersionWidget::initialize(VersionSelectWidget *versionSelectWidget, QString prevName)
|
||||
{
|
||||
this->versionSelectWidget = versionSelectWidget;
|
||||
ui->prevVerValue->setText(prevName);
|
||||
validator = new QRegExpValidator(QRegExp("^[A-Za-z0-9]{20}$"));
|
||||
ui->lineEdit->setValidator(validator);
|
||||
}
|
||||
|
||||
|
||||
void NewVersionWidget::on_createButton_clicked()
|
||||
{
|
||||
if(ui->lineEdit->text() != "")
|
||||
{
|
||||
versionSelectWidget->sendCopyEmit(ui->lineEdit->text());
|
||||
hide();
|
||||
}
|
||||
}
|
||||
|
||||
void NewVersionWidget::on_cancelButton_clicked()
|
||||
{
|
||||
hide();
|
||||
}
|
||||
|
||||
NewVersionWidget::~NewVersionWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void NewVersionWidget::on_lineEdit_inputRejected()
|
||||
{
|
||||
QToolTip::showText(QCursor::pos(),tr("Only Latin letters and numbers"));
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
#ifndef NEWVERSIONWIDGET_H
|
||||
#define NEWVERSIONWIDGET_H
|
||||
|
||||
#include <Widgets/versionselectwidget.h>
|
||||
#include <QWidget>
|
||||
#include <QLineEdit>
|
||||
#include <QToolTip>
|
||||
|
||||
namespace Ui {
|
||||
class NewVersionWidget;
|
||||
}
|
||||
|
||||
class VersionSelectWidget;
|
||||
class NewVersionWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit NewVersionWidget(QWidget *parent = nullptr);
|
||||
void initialize(VersionSelectWidget *versionSelectWidget,QString prevName);
|
||||
~NewVersionWidget();
|
||||
|
||||
private slots:
|
||||
void on_createButton_clicked();
|
||||
void on_cancelButton_clicked();
|
||||
void on_lineEdit_inputRejected();
|
||||
|
||||
private:
|
||||
Ui::NewVersionWidget *ui;
|
||||
VersionSelectWidget *versionSelectWidget;
|
||||
QRegExpValidator *validator;
|
||||
};
|
||||
|
||||
#endif // NEWVERSIONWIDGET_Hvoid on_lineEdit_inputRejected();
|
||||
|
||||
|
||||
@@ -1,259 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>NewVersionWidget</class>
|
||||
<widget class="QWidget" name="NewVersionWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>344</width>
|
||||
<height>200</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Create copy...</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/resources/icons/lms.png</normaloff>:/resources/icons/lms.png</iconset>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QFrame" name="NewVerBackground">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="baseVerLayout">
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="prevVerTitle">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Basic version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="prevVerValue">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>150</horstretch>
|
||||
<verstretch>30</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="newNameLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="newNameVersionTitle">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>99</horstretch>
|
||||
<verstretch>40</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>New name version:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>150</horstretch>
|
||||
<verstretch>30</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTipDuration">
|
||||
<number>1000</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="createButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Create</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="cancelButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Minimum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,174 +0,0 @@
|
||||
#include "versionselectwidget.h"
|
||||
#include "ui_versionselectwidget.h"
|
||||
#include "ui_versionselectwidget.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
#include <QResizeEvent>
|
||||
|
||||
VersionSelectWidget::VersionSelectWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::VersionSelectWidget),
|
||||
selectedVersion(nullptr),
|
||||
waitAnimationWidget(nullptr),
|
||||
recognizeSystem(nullptr)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
|
||||
setAttribute(Qt::WA_ShowModal,true);
|
||||
}
|
||||
|
||||
void VersionSelectWidget::initialize(SendSystem *sendSystem,VersionContainer *versionContainer,NotifyController *notifyController, RecognizeSystem *recognizeSystem)
|
||||
{
|
||||
this->recognizeSystem = recognizeSystem;
|
||||
|
||||
waitAnimationWidget = new WaitAnimationWidget;
|
||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||
waitAnimationWidget->setParent(this);
|
||||
waitAnimationWidget->initialize(movie,this);
|
||||
|
||||
connect(this,&VersionSelectWidget::sigSendSwitchVersion,sendSystem,&SendSystem::sendChangeVersion,Qt::AutoConnection);
|
||||
connect(this,&VersionSelectWidget::sigSendCopyVersion,sendSystem,&SendSystem::sendCopyVersion,Qt::AutoConnection);
|
||||
connect(this,&VersionSelectWidget::sigSendDeleteVersion,sendSystem,&SendSystem::sendDeleteVersion,Qt::AutoConnection);
|
||||
connect(this,&VersionSelectWidget::sigSendNotify,notifyController,&NotifyController::showWarning,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnimationActivated,this,&VersionSelectWidget::slot_activateLoadAnimation,Qt::AutoConnection);
|
||||
|
||||
this->versionContainer = versionContainer;
|
||||
hide();
|
||||
setWindowTitle(tr("Version control"));
|
||||
}
|
||||
|
||||
void VersionSelectWidget::fillView(QList<StreamingVersionData *> *serverData)
|
||||
{
|
||||
show();
|
||||
ui->verListView->clear();
|
||||
serverDataList = serverData;
|
||||
ui->verValue->setText(versionContainer->getServerVersionData()->getViewName());
|
||||
|
||||
foreach(StreamingVersionData *data,*serverData)
|
||||
{
|
||||
ui->verListView->addItem(data->getViewName());
|
||||
}
|
||||
}
|
||||
|
||||
void VersionSelectWidget::on_verListView_itemClicked(QListWidgetItem *item)
|
||||
{
|
||||
foreach(StreamingVersionData *data,*serverDataList)
|
||||
{
|
||||
if(data->getViewName() == item->text())
|
||||
{
|
||||
QString info = tr("Version name: ") + data->getViewName() + "\n";
|
||||
info.append(tr("Created: ") + data->getCreateData().toString() + "\n");
|
||||
info.append(tr("Changeable: ") + changableText(data->getIsChangeable()) + "\n");
|
||||
info.append(tr("Author: ") + data->getAuthor());
|
||||
ui->infoValue->setText(info);
|
||||
selectedVersion = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QString VersionSelectWidget::changableText(bool flag)
|
||||
{
|
||||
if(flag) return tr("Yes");
|
||||
else return tr("No");
|
||||
}
|
||||
|
||||
|
||||
void VersionSelectWidget::on_createDuplicateButton_clicked()
|
||||
{
|
||||
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"));
|
||||
return;
|
||||
}
|
||||
|
||||
NewVersionWidget *newVersionWidget = new NewVersionWidget();
|
||||
newVersionWidget->initialize(this,selectedVersion->getViewName());
|
||||
|
||||
/*
|
||||
QDialog* dialog = new QDialog(this);
|
||||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||||
layout->addWidget(newVersionWidget);
|
||||
dialog->setWindowTitle(tr("Editor of instructors"));
|
||||
dialog->setMinimumSize(200, 100);
|
||||
dialog->setStyleSheet(this->styleSheet());
|
||||
dialog->exec();
|
||||
delete newVersionWidget;
|
||||
*/
|
||||
|
||||
newVersionWidget->show();
|
||||
}
|
||||
|
||||
void VersionSelectWidget::sendCopyEmit(QString newName)
|
||||
{
|
||||
QString result = selectedVersion->getViewName() + ";" + newName + ";" + authorName;
|
||||
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"));
|
||||
return;
|
||||
}
|
||||
|
||||
//versionContainer->setLocalVersionData(selectedVersion);
|
||||
emit sigSendCopyVersion(result);
|
||||
}
|
||||
|
||||
void VersionSelectWidget::on_DeleteVersionButton_clicked()
|
||||
{
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"));
|
||||
return;
|
||||
}
|
||||
|
||||
emit sigSendDeleteVersion(selectedVersion);
|
||||
}
|
||||
|
||||
void VersionSelectWidget::on_switchServerVersionButton_clicked()
|
||||
{
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"));
|
||||
return;
|
||||
}
|
||||
|
||||
versionContainer->setServerVersionData(selectedVersion);
|
||||
ui->verValue->setText(selectedVersion->getViewName());
|
||||
emit sigSendSwitchVersion(selectedVersion);
|
||||
}
|
||||
|
||||
void VersionSelectWidget::slot_activateLoadAnimation(bool flag)
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
waitAnimationWidget->showWithPlay();
|
||||
}
|
||||
else
|
||||
{
|
||||
waitAnimationWidget->hideWithStop();
|
||||
}
|
||||
}
|
||||
|
||||
void VersionSelectWidget::setAuthor(QString name)
|
||||
{
|
||||
authorName = name;
|
||||
}
|
||||
|
||||
void VersionSelectWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
QSize size = event->size();
|
||||
waitAnimationWidget->resize(size);
|
||||
}
|
||||
|
||||
VersionSelectWidget::~VersionSelectWidget()
|
||||
{
|
||||
waitAnimationWidget->hideWithStop();
|
||||
|
||||
delete waitAnimationWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
|
||||
77
LibDataBaseInterface/CMakeLists.txt
Normal file
77
LibDataBaseInterface/CMakeLists.txt
Normal file
@@ -0,0 +1,77 @@
|
||||
project(DataBaseInterface LANGUAGES CXX)
|
||||
|
||||
common_info_for_project(DataBaseInterface)
|
||||
|
||||
add_library(DataBaseInterface SHARED
|
||||
DataBaseLMS_global.h
|
||||
databaselms.cpp
|
||||
databaselms_tasks.cpp
|
||||
databaselms_groups.cpp
|
||||
databaselms_users.cpp
|
||||
databaselms_instructors.cpp
|
||||
databaselms_trainees.cpp
|
||||
databaselms_Postgresql.cpp
|
||||
databaselms.h
|
||||
interfacedatabaselms.cpp
|
||||
interfacedatabaselms.h
|
||||
basicentity.cpp
|
||||
basicentity.h
|
||||
user.cpp
|
||||
user.h
|
||||
instructor.cpp
|
||||
instructor.h
|
||||
trainee.cpp
|
||||
trainee.h
|
||||
group.cpp
|
||||
group.h
|
||||
computer.cpp
|
||||
computer.h
|
||||
classroom.cpp
|
||||
classroom.h
|
||||
tasksAmmFim.cpp
|
||||
tasksAmmFim.h
|
||||
typeQueryToDB.h
|
||||
timingoftrainee.cpp
|
||||
timingoftrainee.h
|
||||
contactModel.h
|
||||
hashtools.cpp
|
||||
hashtools.h
|
||||
DataBaseInterface.qrc
|
||||
)
|
||||
|
||||
target_link_libraries(DataBaseInterface PRIVATE Qt5::Widgets)
|
||||
target_link_libraries(DataBaseInterface PRIVATE Qt5::Sql)
|
||||
target_link_libraries(DataBaseInterface PRIVATE Qt5::Xml)
|
||||
|
||||
target_compile_definitions(DataBaseInterface PRIVATE DATABASELMS_LIBRARY)
|
||||
|
||||
if(PROJECT_TYPE_DEBUG)
|
||||
|
||||
add_custom_command(TARGET DataBaseInterface
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/ProgramServerMPS)
|
||||
|
||||
add_custom_command(TARGET DataBaseInterface
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/ProgramAWSinstructorMPS)
|
||||
else()
|
||||
|
||||
add_custom_command(TARGET DataBaseInterface
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||
${REPO_PATH}/BUILDS/Release64/ProgramServerMPS)
|
||||
|
||||
add_custom_command(TARGET DataBaseInterface
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface/libDataBaseInterface.dll
|
||||
${REPO_PATH}/BUILDS/Release64/ProgramAWSinstructorMPS)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QMessageBox>
|
||||
#include <QDomDocument>
|
||||
#include <QProcess>
|
||||
|
||||
const QString DataBaseLMS::TypeUserDBInstructor = "instructor";
|
||||
const QString DataBaseLMS::TypeUserDBTrainee = "trainee";
|
||||
@@ -12,6 +12,8 @@ const QString DataBaseLMS::TypeUserDBTrainee = "trainee";
|
||||
DataBaseLMS::DataBaseLMS(QWidget *ownerWidget, QObject *parent):
|
||||
QObject(parent),
|
||||
db(nullptr),
|
||||
UserNamePostgres(""),
|
||||
PasswordPostgres(""),
|
||||
ownerWidget(ownerWidget)
|
||||
{
|
||||
|
||||
@@ -35,6 +37,7 @@ bool DataBaseLMS::createConnection()
|
||||
dbSettings.connectionName = "Connection_" + dbSettings.dbName;
|
||||
|
||||
db = new QSqlDatabase(QSqlDatabase::addDatabase(dbSettings.dbType, dbSettings.connectionName));
|
||||
|
||||
db->setDatabaseName(dbSettings.dbName);
|
||||
db->setUserName(dbSettings.dbUserName);
|
||||
db->setPassword(dbSettings.dbPassword);
|
||||
@@ -89,10 +92,8 @@ DataBaseSettings DataBaseLMS::getDataBaseSettings()
|
||||
DataBaseSettings settings;
|
||||
QFile file("config/settings.xml");
|
||||
if(!file.open(QIODevice::ReadOnly))
|
||||
{
|
||||
QMessageBox::critical(ownerWidget, tr("Attention!"), tr("The file could not be opened:") + "config/settings.xml");
|
||||
return settings;
|
||||
}
|
||||
|
||||
QXmlStreamReader xmlReader(&file);
|
||||
|
||||
while (!xmlReader.atEnd()){
|
||||
@@ -228,10 +229,10 @@ void DataBaseLMS::messageWarningErrorQuery(QString queryStr, QSqlQuery* query)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Сообщение об ошибке
|
||||
QMessageBox::warning(ownerWidget, dbSettings.dbName,
|
||||
"Error query:\n" + query->lastError().text() + "\n" +
|
||||
QString textError = "";
|
||||
textError = "Error query:\n" + query->lastError().text() + "\n" +
|
||||
"String of query:\n" + queryStr + "\n" +
|
||||
"Executed query:\n" + query->executedQuery());
|
||||
"Executed query:\n" + query->executedQuery();
|
||||
emit signal_ErrorPostgreSQL(textError);
|
||||
}
|
||||
@@ -12,7 +12,10 @@
|
||||
#include "tasksAmmFim.h"
|
||||
#include "timingoftrainee.h"
|
||||
|
||||
class DataBaseSettings
|
||||
static const QString backupEmptyName = ".\\restoreDB\\DBLMS_EMPTY.backup";
|
||||
static const QString restoreDBscriptName = "restoreDBscript.bat";
|
||||
|
||||
class DATABASELMS_EXPORT DataBaseSettings
|
||||
{
|
||||
public:
|
||||
QString dbName = "";
|
||||
@@ -24,7 +27,7 @@ public:
|
||||
int dbPort = 0;
|
||||
};
|
||||
|
||||
class DataBaseLMS : public QObject
|
||||
class DATABASELMS_EXPORT DataBaseLMS : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
@@ -35,10 +38,23 @@ public:
|
||||
public Q_SLOTS:
|
||||
void slot_LanguageChanged(QString language);
|
||||
|
||||
signals:
|
||||
void signal_ErrorPostgreSQL(QString text);
|
||||
|
||||
public:
|
||||
static const QString TypeUserDBInstructor;
|
||||
static const QString TypeUserDBTrainee;
|
||||
|
||||
public:
|
||||
//PostgreSQL
|
||||
bool setUserPasswordPostgres(QString userName, QString password);
|
||||
bool checkDriverQPSQLavailable();
|
||||
bool checkUserLMSexist();
|
||||
bool checkDataBaseLMSexist();
|
||||
bool createUser();
|
||||
bool createDB();
|
||||
bool prepareRestoreDBscript();
|
||||
|
||||
protected:
|
||||
//Подключение
|
||||
bool createConnection();
|
||||
@@ -105,8 +121,9 @@ protected:
|
||||
//int insertReportFIMforTask(TaskAmmFim task);
|
||||
int updateReportFIMforTask(TaskAmmFim task);
|
||||
|
||||
private:
|
||||
public:
|
||||
DataBaseSettings getDataBaseSettings();
|
||||
private:
|
||||
int queryExecInt(QString queryStr);
|
||||
QString queryExecString(QString queryStr);
|
||||
bool queryExecBool(QString queryStr);
|
||||
@@ -116,6 +133,10 @@ private:
|
||||
protected:
|
||||
QSqlDatabase* db;
|
||||
DataBaseSettings dbSettings;
|
||||
|
||||
QString UserNamePostgres;
|
||||
QString PasswordPostgres;
|
||||
|
||||
QTranslator qtLanguageTranslator;
|
||||
|
||||
private:
|
||||
255
LibDataBaseInterface/databaselms_Postgresql.cpp
Normal file
255
LibDataBaseInterface/databaselms_Postgresql.cpp
Normal file
@@ -0,0 +1,255 @@
|
||||
#include "databaselms.h"
|
||||
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QDomDocument>
|
||||
#include <QProcess>
|
||||
|
||||
bool DataBaseLMS::setUserPasswordPostgres(QString userName, QString password)
|
||||
{
|
||||
DataBaseSettings settings = getDataBaseSettings();
|
||||
QSqlDatabase dbCheck = QSqlDatabase::addDatabase("QPSQL");
|
||||
|
||||
dbCheck.setUserName(userName);
|
||||
dbCheck.setPassword(password);
|
||||
dbCheck.setHostName(settings.dbHostName);
|
||||
dbCheck.setPort(settings.dbPort);
|
||||
|
||||
if (dbCheck.open())
|
||||
{
|
||||
UserNamePostgres = userName;
|
||||
PasswordPostgres = password;
|
||||
|
||||
dbCheck.close();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "PostgreSQL connection error.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool DataBaseLMS::checkDriverQPSQLavailable()
|
||||
{
|
||||
return QSqlDatabase::isDriverAvailable("QPSQL");
|
||||
}
|
||||
|
||||
bool DataBaseLMS::checkUserLMSexist()
|
||||
{
|
||||
DataBaseSettings settings = getDataBaseSettings();
|
||||
QSqlDatabase dbCheck = QSqlDatabase::addDatabase("QPSQL");
|
||||
|
||||
dbCheck.setUserName(UserNamePostgres);
|
||||
dbCheck.setPassword(PasswordPostgres);
|
||||
dbCheck.setHostName(settings.dbHostName);
|
||||
dbCheck.setPort(settings.dbPort);
|
||||
|
||||
if (dbCheck.open())
|
||||
{
|
||||
QSqlQuery query = QSqlQuery(dbCheck);
|
||||
query.prepare("SELECT 1 FROM pg_roles WHERE rolname = :username");
|
||||
query.bindValue(":username", settings.dbUserName);
|
||||
|
||||
if (query.exec() && query.next())
|
||||
{
|
||||
qDebug() << "The user exists.";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "The user does not exist.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "PostgreSQL connection error.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool DataBaseLMS::checkDataBaseLMSexist()
|
||||
{
|
||||
DataBaseSettings settings = getDataBaseSettings();
|
||||
QSqlDatabase dbCheck = QSqlDatabase::addDatabase("QPSQL");
|
||||
|
||||
bool flDBexist = false;
|
||||
|
||||
dbCheck.setUserName(UserNamePostgres);
|
||||
dbCheck.setPassword(PasswordPostgres);
|
||||
dbCheck.setHostName(settings.dbHostName);
|
||||
dbCheck.setPort(settings.dbPort);
|
||||
|
||||
if (dbCheck.open())
|
||||
{
|
||||
QString queryStr = QString("SELECT datname FROM pg_database");
|
||||
QSqlQuery query = QSqlQuery(dbCheck);
|
||||
|
||||
if(queryExec(queryStr, &query))
|
||||
{
|
||||
while (query.next())
|
||||
{
|
||||
QString nameDB = "";
|
||||
nameDB = query.value(0).toString();
|
||||
if(nameDB == dbSettings.dbName)
|
||||
{
|
||||
flDBexist = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "PostgreSQL connection error.";
|
||||
return false;
|
||||
}
|
||||
return flDBexist;
|
||||
}
|
||||
|
||||
bool DataBaseLMS::createUser()
|
||||
{
|
||||
DataBaseSettings settings = getDataBaseSettings();
|
||||
QSqlDatabase dbCheck = QSqlDatabase::addDatabase("QPSQL");
|
||||
|
||||
dbCheck.setUserName(UserNamePostgres);
|
||||
dbCheck.setPassword(PasswordPostgres);
|
||||
dbCheck.setHostName(settings.dbHostName);
|
||||
dbCheck.setPort(settings.dbPort);
|
||||
|
||||
if (dbCheck.open())
|
||||
{
|
||||
QString queryStr = QString("CREATE USER %1 WITH ENCRYPTED PASSWORD '%2'").arg(settings.dbUserName, settings.dbPassword);
|
||||
QSqlQuery query = QSqlQuery(dbCheck);
|
||||
|
||||
if(queryExec(queryStr, &query))
|
||||
{
|
||||
qDebug() << "User created.";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "User not created.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "PostgreSQL connection error.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool DataBaseLMS::createDB()
|
||||
{
|
||||
DataBaseSettings settings = getDataBaseSettings();
|
||||
QSqlDatabase dbCheck = QSqlDatabase::addDatabase("QPSQL");
|
||||
|
||||
dbCheck.setUserName(UserNamePostgres);
|
||||
dbCheck.setPassword(PasswordPostgres);
|
||||
dbCheck.setHostName(settings.dbHostName);
|
||||
dbCheck.setPort(settings.dbPort);
|
||||
|
||||
if (dbCheck.open())
|
||||
{
|
||||
//Создание БД
|
||||
QString queryStr = QString("CREATE DATABASE %1").arg(settings.dbName);
|
||||
QSqlQuery query = QSqlQuery(dbCheck);
|
||||
|
||||
if(queryExec(queryStr, &query))
|
||||
{
|
||||
qDebug() << "The database has been created.";
|
||||
|
||||
//Залитие БД
|
||||
if(prepareRestoreDBscript())
|
||||
{
|
||||
QProcess process;
|
||||
QString pgRestorePath = restoreDBscriptName;
|
||||
|
||||
process.start("cmd /C " + pgRestorePath);
|
||||
process.waitForFinished(-1); // Ждать бесконечно, пока процесс не завершится
|
||||
}
|
||||
|
||||
//Назначение владельца
|
||||
QString queryStr = QString("ALTER DATABASE %1 OWNER TO %2").arg(settings.dbName, settings.dbUserName);
|
||||
QSqlQuery query = QSqlQuery(dbCheck);
|
||||
if(queryExec(queryStr, &query))
|
||||
{
|
||||
qDebug() << "The owner of database has been changed.";
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "The database was not created..";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "PostgreSQL connection error.";
|
||||
return false;
|
||||
}
|
||||
|
||||
dbCheck.close();
|
||||
|
||||
QSqlDatabase dbCheck2 = QSqlDatabase::addDatabase("QPSQL");
|
||||
|
||||
dbCheck2.setUserName(UserNamePostgres);
|
||||
dbCheck2.setPassword(PasswordPostgres);
|
||||
dbCheck2.setHostName(settings.dbHostName);
|
||||
dbCheck2.setPort(settings.dbPort);
|
||||
dbCheck2.setDatabaseName(settings.dbName);
|
||||
|
||||
if (dbCheck2.open())
|
||||
{
|
||||
QString newOwner = settings.dbUserName;
|
||||
|
||||
// Получаем список таблиц
|
||||
QSqlQuery query(dbCheck2);
|
||||
query.exec("SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = 'public';");
|
||||
|
||||
while (query.next())
|
||||
{
|
||||
QString tableName = query.value(0).toString();
|
||||
QString alterQueryStr = QString("ALTER TABLE %1 OWNER TO %2;").arg(tableName).arg(newOwner);
|
||||
QSqlQuery alterQuery(dbCheck2);
|
||||
|
||||
//dbCheck2.exec(alterQueryStr);
|
||||
|
||||
if(!queryExec(alterQueryStr, &alterQuery))
|
||||
{
|
||||
qDebug() << "Error changing owner for table " << tableName << ":" << dbCheck2.lastError().text();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DataBaseLMS::prepareRestoreDBscript()
|
||||
{
|
||||
DataBaseSettings settings = getDataBaseSettings();
|
||||
|
||||
QFile file(restoreDBscriptName);
|
||||
if (file.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
{
|
||||
QTextStream out(&file);
|
||||
out << "set CURRENT_DIR=%~dp0\n";
|
||||
out << "cd %CURRENT_DIR%\n";
|
||||
out << QString("set \"PGPASSWORD=%1\"\n").arg(PasswordPostgres);
|
||||
out << QString("pg_restore -U %1 -h %2 -p %3 -d %4 %5\n").arg(UserNamePostgres,
|
||||
settings.dbHostName,
|
||||
QString::number(settings.dbPort),
|
||||
settings.dbName,
|
||||
backupEmptyName);
|
||||
file.close();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
@@ -3,7 +3,6 @@
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QMessageBox>
|
||||
|
||||
|
||||
QList<Group> DataBaseLMS::selectAllGroups()
|
||||
@@ -3,7 +3,6 @@
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QMessageBox>
|
||||
|
||||
|
||||
QList<Instructor> DataBaseLMS::selectAllInstructors()
|
||||
@@ -3,20 +3,54 @@
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QMessageBox>
|
||||
|
||||
int DataBaseLMS::insertTaskAMM(TaskAmmFim task, int id_trainee)
|
||||
{
|
||||
QString queryStr;
|
||||
bool resBool = false;
|
||||
|
||||
resBool = db->transaction();
|
||||
|
||||
task.ammProcedure.title = task.ammProcedure.title.replace("'", "''"); //Задваиваем одинарные кавычки
|
||||
|
||||
QString queryStr = QString("INSERT INTO public.tasks_amm (title, dm_code, fk_trainee_id) "
|
||||
queryStr = QString("INSERT INTO public.tasks_amm (title, dm_code, fk_trainee_id) "
|
||||
"VALUES ('%1', '%2', %3) "
|
||||
"RETURNING tasks_amm.task_id").arg(
|
||||
task.ammProcedure.title,
|
||||
task.ammProcedure.dmCode,
|
||||
QString::number(id_trainee));
|
||||
|
||||
return queryExecInt(queryStr);
|
||||
int task_id = queryExecInt(queryStr);
|
||||
if(!task_id)
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
for(SubProc subProc : task.listSubProc)
|
||||
{
|
||||
subProc.setTitle(subProc.getTitle().replace("'", "''")); //Задваиваем одинарные кавычки
|
||||
|
||||
queryStr = QString("INSERT INTO public.subprocs (dm_code, title, canplay, fk_task_amm_id) "
|
||||
"VALUES ('%1', '%2', '%3', %4) "
|
||||
"RETURNING subprocs.subproc_id").arg(
|
||||
subProc.getDmCode(),
|
||||
subProc.getTitle(),
|
||||
subProc.getModeListStr(),
|
||||
QString::number(task_id));
|
||||
|
||||
int subproc_id = queryExecInt(queryStr);
|
||||
if(!subproc_id)
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
resBool = db->commit();
|
||||
return task_id;
|
||||
}
|
||||
|
||||
int DataBaseLMS::updateTaskAMM(TaskAmmFim task)
|
||||
@@ -95,13 +129,13 @@ int DataBaseLMS::deleteTaskAMM(int id_task)
|
||||
"ORDER BY users.user_id ASC").arg(
|
||||
QString::number(id_task));
|
||||
|
||||
QSqlQuery query = QSqlQuery(*db);
|
||||
QSqlQuery queryUserSEL = QSqlQuery(*db);
|
||||
|
||||
if(queryExec(queryStr, &query))
|
||||
if(queryExec(queryStr, &queryUserSEL))
|
||||
{
|
||||
if (query.first())
|
||||
if (queryUserSEL.first())
|
||||
{//Обучаемый
|
||||
id_trainee = query.value(0).toInt();
|
||||
id_trainee = queryUserSEL.value(0).toInt();
|
||||
}
|
||||
}
|
||||
if(!id_trainee)
|
||||
@@ -110,6 +144,20 @@ int DataBaseLMS::deleteTaskAMM(int id_task)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
queryStr = QString("DELETE FROM public.subprocs "
|
||||
"WHERE fk_task_amm_id = %1 ").arg(
|
||||
QString::number(id_task));
|
||||
|
||||
QSqlQuery querySubProcDEL = QSqlQuery(*db);
|
||||
if(!queryExec(queryStr, &querySubProcDEL))
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//--------------------
|
||||
queryStr = QString("DELETE FROM public.tasks_amm "
|
||||
"WHERE task_id = %1 "
|
||||
"RETURNING tasks_amm.task_id").arg(
|
||||
@@ -128,8 +176,12 @@ int DataBaseLMS::deleteTaskAMM(int id_task)
|
||||
QList<TaskAmmFim> DataBaseLMS::selectTasksAMMofTrainee(int id_trainee)
|
||||
{
|
||||
QList<TaskAmmFim> listTasks;
|
||||
QString queryStr;
|
||||
bool resBool = false;
|
||||
|
||||
QString queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status, "
|
||||
resBool = db->transaction();
|
||||
|
||||
queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status, "
|
||||
"users.user_id "
|
||||
"FROM public.tasks_amm JOIN public.users ON users.user_id = tasks_amm.fk_trainee_id "
|
||||
"WHERE tasks_amm.fk_trainee_id = %1 "
|
||||
@@ -149,10 +201,47 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksAMMofTrainee(int id_trainee)
|
||||
task.ammProcedure.dmCode = query.value(2).toString();
|
||||
task.status = query.value(3).toString();
|
||||
|
||||
//Выгребаем все subproc для этой задачи
|
||||
queryStr = QString("SELECT subprocs.subproc_id, subprocs.dm_code, subprocs.title, subprocs.canplay, "
|
||||
"tasks_amm.task_id "
|
||||
"FROM public.subprocs JOIN public.tasks_amm ON tasks_amm.task_id = subprocs.fk_task_amm_id "
|
||||
"WHERE subprocs.fk_task_amm_id = %1 "
|
||||
"ORDER BY subprocs.subproc_id ASC").arg(
|
||||
task.getID());
|
||||
|
||||
QSqlQuery querySubProc = QSqlQuery(*db);
|
||||
|
||||
if(queryExec(queryStr, &querySubProc))
|
||||
{
|
||||
while (querySubProc.next())
|
||||
{//Подпроцедура
|
||||
SubProc subProc;
|
||||
int subproc_id = 0;
|
||||
|
||||
subproc_id = querySubProc.value(0).toString().toInt();
|
||||
subProc.setDmCode(querySubProc.value(1).toString());
|
||||
subProc.setTitle(querySubProc.value(2).toString());
|
||||
subProc.setModeListStr(querySubProc.value(3).toString());
|
||||
|
||||
task.listSubProc.append(subProc);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
listTasks.append(task);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
resBool = db->commit();
|
||||
return listTasks;
|
||||
}
|
||||
|
||||
@@ -160,7 +249,12 @@ TaskAmmFim DataBaseLMS::selectTaskAMMbyID(int id_task)
|
||||
{
|
||||
TaskAmmFim task;
|
||||
|
||||
QString queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status "
|
||||
QString queryStr;
|
||||
bool resBool = false;
|
||||
|
||||
resBool = db->transaction();
|
||||
|
||||
queryStr = QString("SELECT tasks_amm.task_id, tasks_amm.title, tasks_amm.dm_code, tasks_amm.status "
|
||||
"FROM public.tasks_amm "
|
||||
"WHERE tasks_amm.task_id = %1 "
|
||||
"ORDER BY tasks_amm.task_id ASC").arg(
|
||||
@@ -176,9 +270,46 @@ TaskAmmFim DataBaseLMS::selectTaskAMMbyID(int id_task)
|
||||
task.ammProcedure.title = query.value(1).toString();
|
||||
task.ammProcedure.dmCode = query.value(2).toString();
|
||||
task.status = query.value(3).toString();
|
||||
|
||||
//Выгребаем все subproc для этой задачи
|
||||
queryStr = QString("SELECT subprocs.subproc_id, subprocs.dm_code, subprocs.title, subprocs.canplay, "
|
||||
"tasks_amm.task_id "
|
||||
"FROM public.subprocs JOIN public.tasks_amm ON tasks_amm.task_id = subprocs.fk_task_amm_id "
|
||||
"WHERE subprocs.fk_task_amm_id = %1 "
|
||||
"ORDER BY subprocs.subproc_id ASC").arg(
|
||||
task.getID());
|
||||
|
||||
QSqlQuery querySubProc = QSqlQuery(*db);
|
||||
|
||||
if(queryExec(queryStr, &querySubProc))
|
||||
{
|
||||
while (querySubProc.next())
|
||||
{//Подпроцедура
|
||||
SubProc subProc;
|
||||
int subproc_id = 0;
|
||||
|
||||
subproc_id = querySubProc.value(0).toString().toInt();
|
||||
subProc.setDmCode(querySubProc.value(1).toString());
|
||||
subProc.setTitle(querySubProc.value(2).toString());
|
||||
subProc.setModeListStr(querySubProc.value(3).toString());
|
||||
|
||||
task.listSubProc.append(subProc);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return TaskAmmFim();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
resBool = db->commit();
|
||||
return task;
|
||||
}
|
||||
|
||||
@@ -518,6 +649,11 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
||||
malfanction.malfunctionSigns.append(sign);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
task.addMalfunction(malfanction);
|
||||
};
|
||||
@@ -669,6 +805,11 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
||||
malfanction.malfunctionSigns.append(sign);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
task.addMalfunction(malfanction);
|
||||
};
|
||||
@@ -676,7 +817,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return task;
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
|
||||
@@ -701,7 +842,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return task;
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
if(report_id)
|
||||
@@ -736,7 +877,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return task;
|
||||
return TaskAmmFim();
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -744,7 +885,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return task;
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
resBool = db->commit();
|
||||
@@ -3,7 +3,6 @@
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QMessageBox>
|
||||
|
||||
|
||||
QList<Trainee> DataBaseLMS::selectAllTrainees()
|
||||
@@ -84,6 +83,7 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
|
||||
return QList<Trainee>();
|
||||
}
|
||||
|
||||
resBool = db->commit();
|
||||
return listTrainees;
|
||||
}
|
||||
|
||||
@@ -261,6 +261,39 @@ int DataBaseLMS::deleteTrainee(int id_trainee)
|
||||
|
||||
|
||||
//Удаление задач AMM
|
||||
/*Выборка задач AMM для этого обучаемого*/
|
||||
queryStr = QString("SELECT tasks_amm.task_id "
|
||||
"FROM public.tasks_amm "
|
||||
"WHERE tasks_amm.fk_trainee_id = %1 "
|
||||
"ORDER BY tasks_amm.task_id ASC").arg(
|
||||
id_trainee);
|
||||
|
||||
QSqlQuery queryTasksAMMSEL = QSqlQuery(*db);
|
||||
if(queryExec(queryStr, &queryTasksAMMSEL))
|
||||
{
|
||||
while (queryTasksAMMSEL.next())
|
||||
{//Задача
|
||||
int task_id = queryTasksAMMSEL.value(0).toInt();
|
||||
|
||||
queryStr = QString("DELETE FROM public.subprocs "
|
||||
"WHERE fk_task_amm_id = %1 ").arg(
|
||||
QString::number(task_id));
|
||||
|
||||
QSqlQuery querySubProcDEL = QSqlQuery(*db);
|
||||
if(!queryExec(queryStr, &querySubProcDEL))
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
queryStr = QString("DELETE FROM public.tasks_amm "
|
||||
"WHERE fk_trainee_id = %1 ").arg(
|
||||
QString::number(id_trainee));
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <QtSql>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlDriver>
|
||||
#include <QMessageBox>
|
||||
|
||||
|
||||
int DataBaseLMS::selectUserID(QString type, QString login, QString password)
|
||||
{
|
||||
14
LibDataBaseInterface/hashtools.cpp
Normal file
14
LibDataBaseInterface/hashtools.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "hashtools.h"
|
||||
#include <QCryptographicHash>
|
||||
|
||||
HashTools::HashTools()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString HashTools::hashingMD5string(QString str)
|
||||
{// Вычисление MD5 хэша строки
|
||||
|
||||
QByteArray md5Hash = QCryptographicHash::hash(str.toUtf8(), QCryptographicHash::Md5).toHex();
|
||||
return QString(md5Hash);
|
||||
}
|
||||
15
LibDataBaseInterface/hashtools.h
Normal file
15
LibDataBaseInterface/hashtools.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#ifndef HASHTOOLS_H
|
||||
#define HASHTOOLS_H
|
||||
|
||||
#include <QString>
|
||||
#include "DataBaseLMS_global.h"
|
||||
|
||||
class DATABASELMS_EXPORT HashTools
|
||||
{
|
||||
public:
|
||||
HashTools();
|
||||
public:
|
||||
static QString hashingMD5string(QString str);
|
||||
};
|
||||
|
||||
#endif // HASHTOOLS_H
|
||||
@@ -1,4 +1,3 @@
|
||||
#include <QMessageBox>
|
||||
#include <QCoreApplication>
|
||||
#include <QSqlError>
|
||||
#include <QDateTime>
|
||||
@@ -16,12 +15,10 @@ bool InterfaceDataBaseLMS::connectionToDB()
|
||||
{
|
||||
if(!createConnection())
|
||||
{
|
||||
QMessageBox::critical(ownerWidget, dbSettings.dbName, tr("Connection error") /*+ db->lastError().text()*/);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//QMessageBox::information(ownerWidget, dbName, tr("Connection is successful!"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +26,6 @@ bool InterfaceDataBaseLMS::connectionToDB()
|
||||
bool InterfaceDataBaseLMS::disConnectionFromDB()
|
||||
{
|
||||
deleteConnection();
|
||||
//QMessageBox::information(ownerWidget, dbName, tr("Disconnection is successful!"));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -41,16 +37,32 @@ bool InterfaceDataBaseLMS::DBisConnected()
|
||||
|
||||
//Инструкторы
|
||||
|
||||
bool InterfaceDataBaseLMS::authorizationInstructor(QString login, QString password)
|
||||
bool InterfaceDataBaseLMS::authorizationInstructor(QString login, QString password, ErrorAuth& error)
|
||||
{
|
||||
error = ErrorAuth::errNo;
|
||||
|
||||
if(int id = selectUserID(DataBaseLMS::TypeUserDBInstructor, login, password))
|
||||
{
|
||||
if(selectUserArchived(DataBaseLMS::TypeUserDBInstructor, id) || selectUserLoggedIn(DataBaseLMS::TypeUserDBInstructor, id))
|
||||
if(selectUserArchived(DataBaseLMS::TypeUserDBInstructor, id))
|
||||
{
|
||||
error = ErrorAuth::errArchived;
|
||||
return false;
|
||||
}
|
||||
|
||||
if(selectUserLoggedIn(DataBaseLMS::TypeUserDBInstructor, id))
|
||||
{
|
||||
error = ErrorAuth::errAlreadyLogIn;
|
||||
return false;
|
||||
}
|
||||
|
||||
if(updateUserLoggedIn(DataBaseLMS::TypeUserDBInstructor, id, true))
|
||||
return true;
|
||||
else
|
||||
error = ErrorAuth::errDB;
|
||||
}
|
||||
else
|
||||
error = ErrorAuth::errLoginOrPassword;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -122,16 +134,32 @@ bool InterfaceDataBaseLMS::isLoggedInInstructor(int id)
|
||||
|
||||
//Инструкторы
|
||||
|
||||
bool InterfaceDataBaseLMS::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
|
||||
bool InterfaceDataBaseLMS::authorizationTrainee(QString login, QString password, ErrorAuth& error, QString classroom_name, QString computer_name)
|
||||
{
|
||||
error = ErrorAuth::errNo;
|
||||
|
||||
if(int id = selectUserID(DataBaseLMS::TypeUserDBTrainee, login, password))
|
||||
{
|
||||
if(selectUserArchived(DataBaseLMS::TypeUserDBTrainee, id) || selectUserLoggedIn(DataBaseLMS::TypeUserDBTrainee, id))
|
||||
if(selectUserArchived(DataBaseLMS::TypeUserDBTrainee, id))
|
||||
{
|
||||
error = ErrorAuth::errArchived;
|
||||
return false;
|
||||
}
|
||||
|
||||
if(selectUserLoggedIn(DataBaseLMS::TypeUserDBTrainee, id))
|
||||
{
|
||||
error = ErrorAuth::errAlreadyLogIn;
|
||||
return false;
|
||||
}
|
||||
|
||||
if(updateUserLoggedIn(DataBaseLMS::TypeUserDBTrainee, id, true))
|
||||
return true;
|
||||
else
|
||||
error = ErrorAuth::errDB;
|
||||
}
|
||||
else
|
||||
error = ErrorAuth::errLoginOrPassword;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,15 @@
|
||||
|
||||
class DATABASELMS_EXPORT InterfaceDataBaseLMS : public DataBaseLMS
|
||||
{
|
||||
public:
|
||||
enum ErrorAuth
|
||||
{
|
||||
errNo = 0,
|
||||
errDB,
|
||||
errLoginOrPassword,
|
||||
errArchived,
|
||||
errAlreadyLogIn
|
||||
};
|
||||
public:
|
||||
InterfaceDataBaseLMS(QWidget *ownerWidget, QObject *parent = nullptr);
|
||||
|
||||
@@ -22,7 +31,7 @@ public:
|
||||
|
||||
//Инструкторы
|
||||
|
||||
bool authorizationInstructor(QString login, QString password);
|
||||
bool authorizationInstructor(QString login, QString password, ErrorAuth& error);
|
||||
bool deAuthorizationInstructor(QString login);
|
||||
bool deAuthorizationAllInstructors();
|
||||
|
||||
@@ -43,7 +52,7 @@ public:
|
||||
|
||||
//Обучаемые
|
||||
|
||||
bool authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name);
|
||||
bool authorizationTrainee(QString login, QString password, ErrorAuth& error, QString classroom_name, QString computer_name);
|
||||
bool deAuthorizationTrainee(QString login);
|
||||
bool deAuthorizationAllTrainees();
|
||||
|
||||
127
LibDataBaseInterface/tasksAmmFim.cpp
Normal file
127
LibDataBaseInterface/tasksAmmFim.cpp
Normal file
@@ -0,0 +1,127 @@
|
||||
#include "tasksAmmFim.h"
|
||||
#include <QDomDocument>
|
||||
#include <QFile>
|
||||
|
||||
|
||||
int TaskAmmFim::lastID = 1;
|
||||
|
||||
void TaskAmmFim::initialize(int id, QString type, QString title, QString status, QString created_date, QString changed_date)
|
||||
{
|
||||
this->id = id;
|
||||
this->type = type;
|
||||
this->title = title;
|
||||
this->status = status;
|
||||
this->created_date = created_date;
|
||||
this->changed_date = changed_date;
|
||||
}
|
||||
|
||||
void TaskAmmFim::addMalfunction(Malfunction malfunction)
|
||||
{
|
||||
malfunctionList.append(malfunction);
|
||||
}
|
||||
|
||||
void Malfunction::initialize(QString dmCode, QString num, QString description)
|
||||
{
|
||||
this->dmCode = dmCode;
|
||||
this->num = num;
|
||||
this->description = description;
|
||||
}
|
||||
|
||||
void Malfunction::addMalfunctionSign(MalfunctionSign sign)
|
||||
{
|
||||
malfunctionSigns.append(sign);
|
||||
}
|
||||
|
||||
void MalfunctionSign::initialize(int type, QString description)
|
||||
{
|
||||
this->type = type;
|
||||
this->description = description;
|
||||
}
|
||||
|
||||
|
||||
QString SubProc::getDmCode() const
|
||||
{
|
||||
return dmCode;
|
||||
}
|
||||
|
||||
QString SubProc::getTitle() const
|
||||
{
|
||||
return title;
|
||||
}
|
||||
|
||||
void SubProc::setDmCode(const QString &value)
|
||||
{
|
||||
dmCode = value;
|
||||
}
|
||||
|
||||
void SubProc::setTitle(const QString &value)
|
||||
{
|
||||
title = value;
|
||||
}
|
||||
|
||||
QString SubProc::getModeListStr() const
|
||||
{
|
||||
return modeListStr;
|
||||
}
|
||||
|
||||
ModeList SubProc::getModeList() const
|
||||
{
|
||||
return modeList;
|
||||
}
|
||||
|
||||
void SubProc::setModeList(const ModeList &value)
|
||||
{
|
||||
this->modeList = value;
|
||||
this->modeListStr = buildCanplay(value);
|
||||
}
|
||||
|
||||
void SubProc::setModeListStr(const QString &value)
|
||||
{
|
||||
this->modeListStr = value;
|
||||
this->modeList = parseCanplay(value);
|
||||
}
|
||||
|
||||
QString SubProc::buildCanplay(ModeList modeList)
|
||||
{
|
||||
QString canplay = QString("%1/%2/%3/%4").arg(modeList.demo?"+":"-", modeList.train?"+":"-", modeList.exam?"+":"-", modeList.autoM?"+":"-");
|
||||
return canplay;
|
||||
}
|
||||
|
||||
ModeList SubProc::parseCanplay(QString canplay)
|
||||
{
|
||||
ModeList modeList;
|
||||
|
||||
if(canplay == "")
|
||||
{
|
||||
modeList.demo = false;
|
||||
modeList.train = false;
|
||||
modeList.exam = false;
|
||||
modeList.autoM = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
QStringList list = canplay.split("/");
|
||||
|
||||
if(list.at(0) == "+")
|
||||
modeList.demo = true;
|
||||
else
|
||||
modeList.demo = false;
|
||||
|
||||
if(list.at(1) == "+")
|
||||
modeList.train = true;
|
||||
else
|
||||
modeList.train = false;
|
||||
|
||||
if(list.at(2) == "+")
|
||||
modeList.exam = true;
|
||||
else
|
||||
modeList.exam = false;
|
||||
|
||||
if(list.at(3) == "+")
|
||||
modeList.autoM = true;
|
||||
else
|
||||
modeList.autoM = false;
|
||||
}
|
||||
|
||||
return modeList;
|
||||
}
|
||||
@@ -5,6 +5,54 @@
|
||||
#include <QList>
|
||||
#include "DataBaseLMS_global.h"
|
||||
|
||||
struct ModeList
|
||||
{
|
||||
bool demo = false;
|
||||
bool train = false;
|
||||
bool exam = false;
|
||||
bool autoM = false;
|
||||
};
|
||||
|
||||
class DATABASELMS_EXPORT SubProc
|
||||
{
|
||||
public:
|
||||
SubProc()
|
||||
{
|
||||
modeListStr = buildCanplay(modeList);
|
||||
};
|
||||
~SubProc(){};
|
||||
public:
|
||||
bool operator==(const SubProc& other) const
|
||||
{
|
||||
// Сравнение членов класса
|
||||
return (this->dmCode == other.dmCode && this->title == other.title && this->modeListStr == other.modeListStr);
|
||||
}
|
||||
|
||||
public:
|
||||
void setModeList(const ModeList &modeList);
|
||||
ModeList getModeList() const;
|
||||
|
||||
void setModeListStr(const QString &modeListStr);
|
||||
QString getModeListStr() const;
|
||||
|
||||
void setDmCode(const QString &value);
|
||||
QString getDmCode() const;
|
||||
|
||||
void setTitle(const QString &value);
|
||||
QString getTitle() const;
|
||||
|
||||
public:
|
||||
static QString buildCanplay(ModeList modeList);
|
||||
static ModeList parseCanplay(QString canplay);
|
||||
|
||||
private:
|
||||
QString dmCode = "";
|
||||
QString title = "";
|
||||
|
||||
ModeList modeList;
|
||||
QString modeListStr = "";
|
||||
};
|
||||
|
||||
class DATABASELMS_EXPORT ProcedureID
|
||||
{
|
||||
public:
|
||||
@@ -105,6 +153,8 @@ public:
|
||||
QList<Malfunction> malfunctionList; // список неисправностей
|
||||
FIMReport report; // отчет по выполнению "fim"
|
||||
|
||||
QList<SubProc> listSubProc;
|
||||
|
||||
static int lastID;
|
||||
};
|
||||
|
||||
4
LibDataBaseInterface/translations/DataBaseLMS_ru_RU.ts
Normal file
4
LibDataBaseInterface/translations/DataBaseLMS_ru_RU.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ru_RU">
|
||||
</TS>
|
||||
@@ -1,4 +1,6 @@
|
||||
#include "user.h"
|
||||
#include "hashtools.h"
|
||||
#include <QCryptographicHash>
|
||||
|
||||
const QString User::TypeUserDBInstructor = "instructor";
|
||||
const QString User::TypeUserDBTrainee = "trainee";
|
||||
@@ -10,7 +12,14 @@ User::User():
|
||||
archived(),
|
||||
loggedIn(),
|
||||
TypeUserDB(),
|
||||
isAdmin(false)
|
||||
isAdmin(false),
|
||||
needSetPassword(false)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void User::hashingPassword()
|
||||
{
|
||||
// Вычисление MD5 хэша
|
||||
password = HashTools::hashingMD5string(password);
|
||||
}
|
||||
@@ -25,6 +25,11 @@ public:
|
||||
|
||||
QString getTypeUserDB(){return TypeUserDB;}
|
||||
|
||||
bool getNeedSetPassword(){return this->needSetPassword;}
|
||||
void setNeedSetPassword(bool needSetPassword){this->needSetPassword = needSetPassword;}
|
||||
|
||||
void hashingPassword();
|
||||
|
||||
private:
|
||||
QString login;
|
||||
QString password;
|
||||
@@ -34,6 +39,7 @@ protected:
|
||||
QString TypeUserDB;
|
||||
|
||||
bool isAdmin;
|
||||
bool needSetPassword;
|
||||
};
|
||||
|
||||
#endif // USER_H
|
||||
@@ -11,16 +11,26 @@ add_library(InstructorsAndTrainees SHARED
|
||||
instructorsandtraineeswidget.h
|
||||
instructorsandtraineeswidget.ui
|
||||
|
||||
dialogsettings.cpp
|
||||
dialogsettings.h
|
||||
dialogsettings.ui
|
||||
|
||||
commonview.cpp
|
||||
commonview.h
|
||||
|
||||
specialmessagebox.cpp
|
||||
specialmessagebox.h
|
||||
specialmessagebox.ui
|
||||
settings/dialogsettings.cpp
|
||||
settings/dialogsettings.h
|
||||
settings/dialogsettings.ui
|
||||
settings/dialognewversion.cpp
|
||||
settings/dialognewversion.h
|
||||
settings/dialognewversion.ui
|
||||
settings/dialogversioncontrol.cpp
|
||||
settings/dialogversioncontrol.h
|
||||
settings/dialogversioncontrol.ui
|
||||
|
||||
specialmessagebox/specialmessagebox.cpp
|
||||
specialmessagebox/specialmessagebox.h
|
||||
specialmessagebox/specialmessagebox.ui
|
||||
|
||||
authorization/dialogauthorization.cpp
|
||||
authorization/dialogauthorization.h
|
||||
authorization/dialogauthorization.ui
|
||||
|
||||
trainees/editortrainees.cpp
|
||||
trainees/editortrainees.h
|
||||
@@ -55,9 +65,6 @@ add_library(InstructorsAndTrainees SHARED
|
||||
instructors/dialogeditinstructor.cpp
|
||||
instructors/dialogeditinstructor.h
|
||||
instructors/dialogeditinstructor.ui
|
||||
instructors/dialogauthorizationinstructor.cpp
|
||||
instructors/dialogauthorizationinstructor.h
|
||||
instructors/dialogauthorizationinstructor.ui
|
||||
instructors/instructorsview.cpp
|
||||
instructors/instructorsview.h
|
||||
instructors/dialogredactorinstructors.cpp
|
||||
@@ -65,6 +72,9 @@ add_library(InstructorsAndTrainees SHARED
|
||||
|
||||
connectorToServer/connectortoserver.cpp
|
||||
connectorToServer/connectortoserver.h
|
||||
connectorToServer/connectortoserver_LocalModelDB.cpp
|
||||
connectorToServer/connectortoserver_AnswerQueryToDB.cpp
|
||||
connectorToServer/connectortoserver_Send.cpp
|
||||
connectorToServer/Core/sendsystem.cpp
|
||||
connectorToServer/Core/sendsystem.h
|
||||
connectorToServer/Core/dataparser.cpp
|
||||
@@ -76,8 +86,6 @@ add_library(InstructorsAndTrainees SHARED
|
||||
connectorToServer/Core/tools.cpp
|
||||
connectorToServer/Core/tools.h
|
||||
connectorToServer/Core/FileData.h
|
||||
connectorToServer/Core/notifycontroller.cpp
|
||||
connectorToServer/Core/notifycontroller.h
|
||||
connectorToServer/Core/versioncontainer.cpp
|
||||
connectorToServer/Core/versioncontainer.h
|
||||
connectorToServer/Datas.h
|
||||
@@ -110,17 +118,31 @@ add_library(InstructorsAndTrainees SHARED
|
||||
tasks/dialogchekertask.cpp
|
||||
tasks/dialogchekertask.h
|
||||
|
||||
widgets/newversionwidget.cpp
|
||||
widgets/newversionwidget.h
|
||||
widgets/newversionwidget.ui
|
||||
widgets/versionselectwidget.cpp
|
||||
widgets/versionselectwidget.h
|
||||
widgets/versionselectwidget.ui
|
||||
tasks/dialogtaskscommon.cpp
|
||||
tasks/dialogtaskscommon.h
|
||||
|
||||
tasks/viewertaskscommon.cpp
|
||||
tasks/viewertaskscommon.h
|
||||
tasks/viewertaskscommon.ui
|
||||
|
||||
tasks/dialoglistsubproc.cpp
|
||||
tasks/dialoglistsubproc.h
|
||||
|
||||
tasks/listsubproc.cpp
|
||||
tasks/listsubproc.h
|
||||
tasks/listsubproc.ui
|
||||
|
||||
tasks/subprocitemwidget.cpp
|
||||
tasks/subprocitemwidget.h
|
||||
tasks/subprocitemwidget.ui
|
||||
|
||||
widgets/waitanimationwidget.cpp
|
||||
widgets/waitanimationwidget.h
|
||||
widgets/waitanimationwidget.ui
|
||||
widgets/widgettools.cpp
|
||||
widgets/widgettools.h
|
||||
|
||||
resources.qrc
|
||||
InstructorsAndTrainees.qrc
|
||||
)
|
||||
|
||||
target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Widgets)
|
||||
@@ -128,36 +150,50 @@ target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Sql)
|
||||
target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Xml)
|
||||
target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Network)
|
||||
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/authorization)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/instructors)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/trainees)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/tasks)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/docTasks)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/connectorToServer)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/connectorToServer/Core)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/messanger)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/settings)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/specialmessagebox)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/widgets)
|
||||
|
||||
target_compile_definitions(InstructorsAndTrainees PRIVATE INSTRUCTORSANDTRAINEES_LIBRARY)
|
||||
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../DataBaseLMS)
|
||||
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../LibDataBaseInterface)
|
||||
if(PROJECT_TYPE_DEBUG)
|
||||
target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/Debug64/DataBaseLMS)
|
||||
target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/Debug64/LibDataBaseInterface)
|
||||
else()
|
||||
target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/Release64/DataBaseLMS)
|
||||
target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/Release64/LibDataBaseInterface)
|
||||
endif()
|
||||
target_link_libraries(InstructorsAndTrainees PRIVATE libDataBaseLMS.dll)
|
||||
target_link_libraries(InstructorsAndTrainees PRIVATE libDataBaseInterface.dll)
|
||||
|
||||
if(PROJECT_TYPE_DEBUG)
|
||||
add_custom_command(TARGET InstructorsAndTrainees
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Debug64/InstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/GUIdataBaseLMS)
|
||||
${REPO_PATH}/BUILDS/Debug64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/ProgramAWSinstructorMPS)
|
||||
|
||||
add_custom_command(TARGET InstructorsAndTrainees
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Debug64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||
${REPO_PATH}/BUILDS/Debug64/ProgramServerMPS)
|
||||
else()
|
||||
add_custom_command(TARGET InstructorsAndTrainees
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Release64/InstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||
${REPO_PATH}/BUILDS/Release64/GUIdataBaseLMS)
|
||||
${REPO_PATH}/BUILDS/Release64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||
${REPO_PATH}/BUILDS/Release64/ProgramAWSinstructorMPS)
|
||||
add_custom_command(TARGET InstructorsAndTrainees
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${REPO_PATH}/BUILDS/Release64/LibInstructorsAndTrainees/libInstructorsAndTrainees.dll
|
||||
${REPO_PATH}/BUILDS/Release64/ProgramServerMPS)
|
||||
endif()
|
||||
|
||||
#Только для TSMP!
|
||||
@@ -52,5 +52,9 @@
|
||||
<file>resources/icons/critical.png</file>
|
||||
<file>resources/icons/warning.png</file>
|
||||
<file>resources/icons/info.png</file>
|
||||
<file>resources/icons/personalCard.png</file>
|
||||
<file>resources/icons/eye.png</file>
|
||||
<file>resources/icons/exchange.png</file>
|
||||
<file>resources/icons/link.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -0,0 +1,65 @@
|
||||
#include <QRegExpValidator>
|
||||
#include <QToolTip>
|
||||
#include "dialogauthorization.h"
|
||||
#include "ui_dialogauthorization.h"
|
||||
|
||||
DialogAuthorization::DialogAuthorization(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::DialogAuthorization)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->editLogin->setProperty("mandatoryField", true);
|
||||
ui->editPassword->setProperty("mandatoryField", true);
|
||||
|
||||
ui->btnViewPassword->setObjectName("btnViewPassword");
|
||||
|
||||
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password);
|
||||
|
||||
ui->editLogin->setValidator(new QRegExpValidator(QRegExp("[A-Za-z\\d]+"), this));
|
||||
}
|
||||
|
||||
DialogAuthorization::~DialogAuthorization()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
QString DialogAuthorization::getLogin()
|
||||
{
|
||||
return ui->editLogin->text();
|
||||
}
|
||||
|
||||
void DialogAuthorization::setLogin(QString login)
|
||||
{
|
||||
ui->editLogin->setText(login);
|
||||
}
|
||||
|
||||
QString DialogAuthorization::getPassword()
|
||||
{
|
||||
return ui->editPassword->text();
|
||||
}
|
||||
|
||||
void DialogAuthorization::setPassword(QString password)
|
||||
{
|
||||
ui->editPassword->setText(password);
|
||||
}
|
||||
|
||||
void DialogAuthorization::on_btnLogIn_clicked()
|
||||
{
|
||||
this->accept();
|
||||
}
|
||||
|
||||
void DialogAuthorization::on_btnViewPassword_pressed()
|
||||
{
|
||||
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Normal);
|
||||
}
|
||||
|
||||
void DialogAuthorization::on_btnViewPassword_released()
|
||||
{
|
||||
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password);
|
||||
}
|
||||
|
||||
void DialogAuthorization::on_editLogin_inputRejected()
|
||||
{
|
||||
QToolTip::showText(QCursor::pos(),tr("Only Latin letters and numbers"));
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
#ifndef DIALOGAUTHORIZATION_H
|
||||
#define DIALOGAUTHORIZATION_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "instructorsAndTrainees_global.h"
|
||||
//#include "ui_dialogauthorization.h"
|
||||
|
||||
namespace Ui {
|
||||
class DialogAuthorization;
|
||||
}
|
||||
|
||||
class INSTRUCTORSANDTRAINEES_EXPORT DialogAuthorization : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DialogAuthorization(QWidget *parent = nullptr);
|
||||
~DialogAuthorization();
|
||||
|
||||
public:
|
||||
QString getLogin();
|
||||
void setLogin(QString login);
|
||||
|
||||
QString getPassword();
|
||||
void setPassword(QString password);
|
||||
|
||||
private slots:
|
||||
void on_btnLogIn_clicked();
|
||||
void on_btnViewPassword_pressed();
|
||||
void on_btnViewPassword_released();
|
||||
|
||||
void on_editLogin_inputRejected();
|
||||
|
||||
private:
|
||||
Ui::DialogAuthorization *ui;
|
||||
};
|
||||
|
||||
#endif // DIALOGAUTHORIZATION_H
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DialogAuthorizationInstructor</class>
|
||||
<widget class="QDialog" name="DialogAuthorizationInstructor">
|
||||
<class>DialogAuthorization</class>
|
||||
<widget class="QDialog" name="DialogAuthorization">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
@@ -20,18 +20,18 @@
|
||||
<string>Instructor authorization</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="../resources.qrc">
|
||||
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||
<normaloff>:/resources/icons/lms.png</normaloff>:/resources/icons/lms.png</iconset>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Main">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_LP">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Labels">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_1">
|
||||
<widget class="QLabel" name="label_Login">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
@@ -43,7 +43,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="label_Password">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
@@ -57,7 +57,7 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Edites">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editLogin">
|
||||
<property name="font">
|
||||
@@ -70,6 +70,8 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Password">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editPassword">
|
||||
<property name="font">
|
||||
@@ -82,6 +84,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnViewPassword">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||
<normaloff>:/resources/icons/eye.png</normaloff>:/resources/icons/eye.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -100,7 +115,7 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Btn">
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnLogIn">
|
||||
<property name="sizePolicy">
|
||||
@@ -121,7 +136,7 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../resources.qrc"/>
|
||||
<include location="../InstructorsAndTrainees.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -24,9 +24,10 @@ CommonView::CommonView(ConnectorToServer* connectorToServer, TypeView type, QWid
|
||||
|
||||
treeWidget->setEnabled(false);
|
||||
|
||||
treeWidget->setSortingEnabled(false);
|
||||
|
||||
waitAnimationWidget = new WaitAnimationWidget;
|
||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||
//waitAnimationWidget->setParent(this);
|
||||
waitAnimationWidget->initialize(movie,this);
|
||||
}
|
||||
|
||||
@@ -54,7 +55,7 @@ void CommonView::setItemColor(QTreeWidgetItem *item, QColor color)
|
||||
|
||||
int CommonView::calculateWidth_0Column()
|
||||
{
|
||||
int widthHeader = treeWidget->width() - 10;
|
||||
int widthHeader = treeWidget->width() - 20;
|
||||
int width0Column = 0;
|
||||
int widthSB = 0;
|
||||
if(treeWidget->verticalScrollBar()->isVisible())
|
||||
@@ -96,17 +97,17 @@ void CommonView::setWidthColumnsTree()
|
||||
listWidthColumn.append(140);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
|
||||
listWidthColumn.append(100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 120);
|
||||
listWidthColumn.append(120);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 100);
|
||||
listWidthColumn.append(100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
|
||||
listWidthColumn.append(80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
|
||||
listWidthColumn.append(40);
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, calculateWidth_0Column());
|
||||
}
|
||||
|
||||
void CommonView::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders = {tr("Name"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Logged"), tr("ID")};
|
||||
QStringList listHeaders = {tr("Name"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Online"), tr("ID")};
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
@@ -123,9 +124,7 @@ void CommonView::preparationTreeWidget()
|
||||
archiveVisible = false;
|
||||
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Archived, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||
}
|
||||
else
|
||||
{//control
|
||||
@@ -144,13 +143,15 @@ void CommonView::preparationTreeWidget()
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
||||
}
|
||||
}
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Class, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Computer, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_IP_address, true);
|
||||
if(TypeUserDB == User::TypeUserDBTrainee)
|
||||
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||
|
||||
treeWidget->setSortingEnabled(true);
|
||||
//treeWidget->setSortingEnabled(true);
|
||||
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
||||
|
||||
mtxTreeWidget.unlock();
|
||||
@@ -4,8 +4,10 @@
|
||||
#include <QTreeWidget>
|
||||
#include <QTranslator>
|
||||
#include <QMutex>
|
||||
#include <QMap>
|
||||
#include "instructorsAndTrainees_global.h"
|
||||
#include "connectortoserver.h"
|
||||
#include "waitanimationwidget.h"
|
||||
|
||||
//Родительский класс представления БД Инструкторов/Обучаемых (самого верхнего уровня)
|
||||
|
||||
@@ -62,6 +64,7 @@ public:
|
||||
treeWidget->clear();
|
||||
treeWidget->setEnabled(false);
|
||||
lastCurrentID = 0;
|
||||
mapNewMsg.clear();
|
||||
}
|
||||
void clearSelection()
|
||||
{
|
||||
@@ -107,6 +110,9 @@ protected:
|
||||
int lastCurrentID;
|
||||
TypeObject typeObject;
|
||||
|
||||
QMutex mtxmapNewMsg;
|
||||
QMap<int, bool> mapNewMsg;
|
||||
|
||||
WaitAnimationWidget *waitAnimationWidget;
|
||||
};
|
||||
|
||||
@@ -176,6 +176,17 @@ QByteArray DataParser::createQueryToDBMessage(ClientQueryToDB *queryToDB, int id
|
||||
{
|
||||
xmlWriter.writeAttribute("title", task->ammProcedure.title);
|
||||
xmlWriter.writeAttribute("dmCode", task->ammProcedure.dmCode);
|
||||
|
||||
for(SubProc subProc : task->listSubProc)
|
||||
{
|
||||
xmlWriter.writeStartElement("SubProc");
|
||||
|
||||
xmlWriter.writeAttribute("dmCode", subProc.getDmCode());
|
||||
xmlWriter.writeAttribute("title", subProc.getTitle());
|
||||
xmlWriter.writeAttribute("canplay", subProc.getModeListStr());
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(queryToDB->typeQuery == TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE)
|
||||
@@ -245,6 +256,24 @@ QByteArray DataParser::createQueryTasksXMLMessage(QString type)
|
||||
return array;
|
||||
}
|
||||
|
||||
QByteArray DataParser::createQueryListSubProcMessage(QString dmCode)
|
||||
{
|
||||
QByteArray array;
|
||||
QXmlStreamWriter xmlWriter(&array);
|
||||
|
||||
xmlWriter.setAutoFormatting(true);
|
||||
xmlWriter.writeStartDocument();
|
||||
xmlWriter.writeStartElement("QueryListSubProc");
|
||||
|
||||
xmlWriter.writeAttribute("dmCode", dmCode);
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
xmlWriter.writeEndElement();
|
||||
xmlWriter.writeEndDocument();
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
QByteArray DataParser::createDeAuthMessage(ClientDeAutorization *deAuth)
|
||||
{
|
||||
QByteArray array;
|
||||
@@ -263,6 +292,24 @@ QByteArray DataParser::createDeAuthMessage(ClientDeAutorization *deAuth)
|
||||
return array;
|
||||
}
|
||||
|
||||
QByteArray DataParser::createQueryBlockAuth(bool block)
|
||||
{
|
||||
QByteArray array;
|
||||
QXmlStreamWriter xmlWriter(&array);
|
||||
|
||||
xmlWriter.setAutoFormatting(true);
|
||||
xmlWriter.writeStartDocument();
|
||||
xmlWriter.writeStartElement("BlockAuth");
|
||||
|
||||
xmlWriter.writeAttribute("Block", block ? "1" : "0");
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
xmlWriter.writeEndElement();
|
||||
xmlWriter.writeEndDocument();
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DataParser::createServerSettings(QString address, QString port)
|
||||
@@ -26,8 +26,11 @@ public:
|
||||
QByteArray createMessage(ClientMessage toClientMessage);
|
||||
QByteArray createQueryToDBMessage(ClientQueryToDB *queryToDB, int id = 0, void* data = nullptr);
|
||||
QByteArray createQueryTasksXMLMessage(QString type);
|
||||
QByteArray createQueryListSubProcMessage(QString dmCode);
|
||||
QByteArray createDeAuthMessage(ClientDeAutorization *deAuth);
|
||||
|
||||
QByteArray createQueryBlockAuth(bool block);
|
||||
|
||||
void createAuthData(ServerAuthorization *serverAuth);
|
||||
void createAuthDataOffline(QString username,QString pass);
|
||||
void addRunData(QList<int> displays);
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <QMessageBox>
|
||||
#include "instructor.h"
|
||||
#include "tasksAmmFim.h"
|
||||
#include "module.h"
|
||||
#include "timingoftrainee.h"
|
||||
#include "specialmessagebox.h"
|
||||
|
||||
@@ -272,7 +273,18 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
emit sigHashReady();
|
||||
}
|
||||
|
||||
//xml-ответы на запросы к БД
|
||||
if(packetType == PacketType::TYPE_XMLANSWER_DOCS_CHANGED)
|
||||
{
|
||||
emit signal_AnswerDocsChanged();
|
||||
}
|
||||
|
||||
//if(packetType == PacketType::TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM)
|
||||
//{
|
||||
|
||||
//}
|
||||
|
||||
//А)xml-ответы на запросы к БД
|
||||
//B)перечни Подпроцедур
|
||||
switch(packetType)
|
||||
{
|
||||
case TYPE_XMLANSWER_QUERY_DB__LIST_INSTRUCTORS:
|
||||
@@ -282,6 +294,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
case TYPE_XMLANSWER_QUERY_DB__LIST_CLASSROOMS:
|
||||
case TYPE_XMLANSWER_QUERY_TASKS_AMM_FOR_TRAINEE:
|
||||
case TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE:
|
||||
case TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM:
|
||||
{
|
||||
//ПОЛУЧЕНИЕ РАЗМЕРА ФАЙЛА
|
||||
forever
|
||||
@@ -356,7 +369,14 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
sizeReceiveData = 0;
|
||||
countSend = 0;
|
||||
|
||||
if(packetType != TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM)
|
||||
{//xml-ответы на запросы к БД
|
||||
xmlParserQueryToDB(packetType, array);
|
||||
}
|
||||
else
|
||||
{//перечни Подпроцедур
|
||||
xmlParserQuerySubProc(packetType, array);
|
||||
}
|
||||
|
||||
packetType = PacketType::TYPE_NONE;
|
||||
|
||||
@@ -393,7 +413,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
|
||||
QFile xmlInFile(xmlFileName);
|
||||
if (!xmlInFile.open(QFile::ReadOnly | QFile::Text))
|
||||
{
|
||||
SpecialMessageBox(nullptr, SpecialMessageBox::TypeSpecMsgBox::critical, tr("The file could not be opened ") + xmlFileName).exec();
|
||||
SpecMsgBox::CriticalClose(nullptr, tr("The file could not be opened ") + xmlFileName);
|
||||
return;
|
||||
}
|
||||
else
|
||||
@@ -436,16 +456,33 @@ void RecognizeSystem::xmlParser(QByteArray array)
|
||||
|
||||
if(name == "Code")
|
||||
{
|
||||
if (value == "END")
|
||||
if (value == NOTIFY_SERVER_END)
|
||||
{
|
||||
emit sigSocketDisabled();
|
||||
}
|
||||
|
||||
if(value == "BLOCKED")
|
||||
if(value == NOTIFY_SERVER_BLOCKED)
|
||||
{
|
||||
emit sigServerBlocked();
|
||||
}
|
||||
|
||||
if(value == NOTIFY_ERROR_AUTH_DB)
|
||||
{
|
||||
emit sigErrorAuth(value);
|
||||
}
|
||||
if(value == NOTIFY_ERROR_AUTH_LOGINORPASSWORD)
|
||||
{
|
||||
emit sigErrorAuth(value);
|
||||
}
|
||||
if(value == NOTIFY_ERROR_AUTH_ARCHIVED)
|
||||
{
|
||||
emit sigErrorAuth(value);
|
||||
}
|
||||
if(value == NOTIFY_ERROR_AUTH_ALREADYLOGIN)
|
||||
{
|
||||
emit sigErrorAuth(value);
|
||||
}
|
||||
|
||||
if(value == "HASHSENDCOMPLETE")
|
||||
{
|
||||
emit sigStartCompare();
|
||||
@@ -453,17 +490,17 @@ void RecognizeSystem::xmlParser(QByteArray array)
|
||||
|
||||
if (value == "BASEDELETETRY")
|
||||
{
|
||||
emit sigNotify(tr("You cannot delete the basic version!"));
|
||||
emit sigNotifyVersionControl(tr("You cannot delete the basic version!"));
|
||||
}
|
||||
|
||||
if (value == "TRYACTIVEDELETE")
|
||||
{
|
||||
emit sigNotify(tr("You cannot delete the active version"));
|
||||
emit sigNotifyVersionControl(tr("You cannot delete the active version"));
|
||||
}
|
||||
|
||||
if (value == "DUPLICATEVERNAME")
|
||||
{
|
||||
emit sigNotify(tr("This name already exists"));
|
||||
emit sigNotifyVersionControl(tr("This name already exists"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -779,6 +816,20 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
|
||||
task.ammProcedure.dmCode = taskNode.toElement().attribute("dmCode");
|
||||
task.status = taskNode.toElement().attribute("status");
|
||||
|
||||
for(int j = 0; j < taskNode.childNodes().count(); j++)
|
||||
{
|
||||
QDomNode subProcNode = taskNode.childNodes().at(j);
|
||||
if(subProcNode.nodeName() == "SubProc")
|
||||
{//Подпроцедура
|
||||
SubProc subProc;
|
||||
subProc.setDmCode(subProcNode.toElement().attribute("dmCode"));
|
||||
subProc.setTitle(subProcNode.toElement().attribute("title"));
|
||||
subProc.setModeListStr(subProcNode.toElement().attribute("canplay"));
|
||||
|
||||
task.listSubProc.append(subProc);
|
||||
}
|
||||
}
|
||||
|
||||
listTasks.append(task);
|
||||
}
|
||||
}
|
||||
@@ -868,6 +919,40 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
|
||||
};
|
||||
}
|
||||
|
||||
void RecognizeSystem::xmlParserQuerySubProc(PacketType packetType, QByteArray array)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
commonDOM.setContent(array);
|
||||
|
||||
switch(packetType)
|
||||
{
|
||||
case TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM:
|
||||
{
|
||||
QList<SubProc> listSubProc;
|
||||
QString parentTask_dmCode = "";
|
||||
QDomNode listNode = commonDOM.namedItem("ListSubProc");
|
||||
parentTask_dmCode = listNode.toElement().attribute("dmCode");
|
||||
|
||||
for(int i = 0; i < listNode.childNodes().count(); i++)
|
||||
{
|
||||
QDomNode taskNode = listNode.childNodes().at(i);
|
||||
if(taskNode.nodeName() == "SubProc")
|
||||
{//Подпроцедура
|
||||
SubProc subProc;
|
||||
subProc.setTitle(taskNode.toElement().attribute("title"));
|
||||
subProc.setDmCode(taskNode.toElement().attribute("dmCode"));
|
||||
subProc.setModeListStr(taskNode.toElement().attribute("canplay"));
|
||||
|
||||
listSubProc.append(subProc);
|
||||
}
|
||||
}
|
||||
emit sigAnswerQuerySubProc(listSubProc, parentTask_dmCode);
|
||||
}
|
||||
break;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
void RecognizeSystem::xmlParserQueryTasksXML(PacketType packetType, QByteArray array)
|
||||
{
|
||||
if(packetType == TYPE_XMLANSWER_QUERY_TASKS_XML_FIM)
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "group.h"
|
||||
#include "Datas.h"
|
||||
#include "tasksAmmFim.h"
|
||||
#include "module.h"
|
||||
|
||||
|
||||
class RecognizeSystem : public QObject
|
||||
@@ -33,6 +34,7 @@ signals:
|
||||
void sigSendDebugLog(QString message);
|
||||
void sigSocketDisabled();
|
||||
void sigServerBlocked();
|
||||
void sigErrorAuth(QString error);
|
||||
void sigAuth(ServerAuthorization *serverAuth);
|
||||
void sigDeAuth(ServerDeAuthorization *serverDeAuth);
|
||||
void sigAnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||
@@ -54,9 +56,12 @@ signals:
|
||||
void sigAnswerQueryTasksXML_AMM(QByteArray array);
|
||||
void sigShowServerDataList(QList<StreamingVersionData*> *versions);
|
||||
void sigSetVersion(StreamingVersionData* serverVersion);
|
||||
void sigNotify(QString text);
|
||||
void sigNotifyVersionControl(QString text);
|
||||
void sigAnimationActivated(bool flag);
|
||||
void sigHashReady();
|
||||
void sigAnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode);
|
||||
|
||||
void signal_AnswerDocsChanged();
|
||||
|
||||
private:
|
||||
QList<QString> *folderList;
|
||||
@@ -73,6 +78,7 @@ private:
|
||||
|
||||
void xmlParser(QByteArray array);
|
||||
void xmlParserQueryToDB(PacketType packetType, QByteArray array);
|
||||
void xmlParserQuerySubProc(PacketType packetType, QByteArray array);
|
||||
void xmlParserQueryTasksXML(PacketType packetType, QByteArray array);
|
||||
|
||||
void checkAccessType(QString type);
|
||||
@@ -158,6 +158,13 @@ void SendSystem::sendCopyVersion(QString versionName)
|
||||
stream << versionName;
|
||||
}
|
||||
|
||||
void SendSystem::sendGetVersion()
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
|
||||
stream << PacketType::GET_VERSION;
|
||||
}
|
||||
|
||||
void SendSystem::sendPacketType(PacketType packetType)
|
||||
{
|
||||
QDataStream stream(socket);
|
||||
@@ -22,10 +22,13 @@ public:
|
||||
void sendXMLAnswer(QByteArray array);
|
||||
~SendSystem();
|
||||
void sendFinish();
|
||||
|
||||
public slots:
|
||||
void sendPacketType(PacketType packetType);
|
||||
void sendChangeVersion(StreamingVersionData *streamingVersion);
|
||||
void sendDeleteVersion(StreamingVersionData *streamingVersion);
|
||||
void sendCopyVersion(QString versionName);
|
||||
void sendPacketType(PacketType packetType);
|
||||
void sendGetVersion();
|
||||
signals:
|
||||
void sigSend();
|
||||
QByteArray sigGetXmlAnswer(QString);
|
||||
@@ -13,7 +13,10 @@ static QString staticDataFolderName = "StaticData";
|
||||
static QString additionalFilesFolderName = "RRJ-95NEW-100";
|
||||
static QString streamingAssetsPath = "/Application/RRJLoader/RRJ_Data/StreamingAssets";
|
||||
static QString hashFilename = staticDataFolderName + "/clientHash.xml";
|
||||
static QString settingsName = staticDataFolderName + "/settings.xml";
|
||||
|
||||
static QString configFolderName = "config";
|
||||
static QString settingsName = configFolderName + "/settings.xml";
|
||||
|
||||
static QString tempName = staticDataFolderName + "/temp.xml";
|
||||
static QString authTempName = staticDataFolderName + "/authData.xml";
|
||||
static QString displayTemp = staticDataFolderName + "/displayData.xml";
|
||||
@@ -54,6 +57,12 @@ enum PacketType{
|
||||
TYPE_XMLANSWER_QUERY_TASKS_XML_FIM = 130,
|
||||
TYPE_XMLANSWER_QUERY_TASKS_XML_AMM = 131,
|
||||
|
||||
//оповещение об изменении docs.xml
|
||||
TYPE_XMLANSWER_DOCS_CHANGED = 132,
|
||||
|
||||
TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM = 133,
|
||||
|
||||
GET_VERSION = 149,
|
||||
HASH_READY = 150,
|
||||
CHANGE_DATA_VERSION = 151,
|
||||
COPY_VERSION = 152,
|
||||
@@ -62,6 +71,14 @@ enum PacketType{
|
||||
FREE = 155
|
||||
};
|
||||
|
||||
#define NOTIFY_ERROR_AUTH_DB "ERROR_AUTH_DB"
|
||||
#define NOTIFY_ERROR_AUTH_LOGINORPASSWORD "ERROR_AUTH_LOGINORPASSWORD"
|
||||
#define NOTIFY_ERROR_AUTH_ARCHIVED "ERROR_AUTH_ARCHIVED"
|
||||
#define NOTIFY_ERROR_AUTH_ALREADYLOGIN "ERROR_AUTH_ALREADYLOGIN"
|
||||
#define NOTIFY_SERVER_END "END"
|
||||
#define NOTIFY_SERVER_BLOCKED "BLOCKED"
|
||||
#define SERVER_HELLO "NewConnection. I am server LMS!"
|
||||
|
||||
//Q_DECLARE_METATYPE(PacketType)
|
||||
|
||||
class Tools {
|
||||
@@ -0,0 +1,202 @@
|
||||
#include "connectortoserver.h"
|
||||
#include <QThread>
|
||||
|
||||
ConnectorToServer::ConnectorToServer(QObject *parent) :
|
||||
QObject(parent),
|
||||
connectionThread(nullptr),
|
||||
client(nullptr),
|
||||
dataParser(nullptr),
|
||||
sendSystem(nullptr),
|
||||
recognizeSystem(nullptr),
|
||||
fl_GetedOfflineMessages(false),
|
||||
nameInstructorLoggedInLocal("")
|
||||
{
|
||||
initialize();
|
||||
}
|
||||
|
||||
ConnectorToServer::~ConnectorToServer()
|
||||
{
|
||||
delete client;
|
||||
delete recognizeSystem;
|
||||
delete sendSystem;
|
||||
delete dataParser;
|
||||
|
||||
connectionThread->quit();
|
||||
connectionThread->wait();
|
||||
delete connectionThread;
|
||||
}
|
||||
|
||||
ServerSettings ConnectorToServer::getServerSettings()
|
||||
{
|
||||
return serverSettings;
|
||||
}
|
||||
|
||||
bool ConnectorToServer::getIsConnected()
|
||||
{
|
||||
return client->getIsConnected();
|
||||
}
|
||||
|
||||
void ConnectorToServer::SetConnectToServer()
|
||||
{
|
||||
qDebug() << "connectorToServer::SetConnectToServer() thread ID " << QThread::currentThreadId();
|
||||
serverSettings = *dataParser->getServerSettings();
|
||||
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||
}
|
||||
|
||||
void ConnectorToServer::StopConnectToServer()
|
||||
{
|
||||
emit sigStopConnect();
|
||||
clearListModelDB();
|
||||
}
|
||||
|
||||
void ConnectorToServer::setLoginName(QString name)
|
||||
{
|
||||
//versionSelectWidget->setAuthor(name);
|
||||
nameInstructorLoggedInLocal = name;
|
||||
}
|
||||
|
||||
QString ConnectorToServer::getLoginName()
|
||||
{
|
||||
return nameInstructorLoggedInLocal;
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
sendMessage(clientMessage);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_showServerList(QList<StreamingVersionData *> *serverList)
|
||||
{
|
||||
//versionSelectWidget->fillView(serverList);
|
||||
emit signal_showServerList(serverList);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_HashReady()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_Auth(ServerAuthorization *serverAuth)
|
||||
{
|
||||
this->serverAuth = *serverAuth;
|
||||
emit sigLoginResult(serverAuth);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_ServerBlocked()
|
||||
{
|
||||
emit sigServerBlocked();
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_ErrorAuth(QString error)
|
||||
{
|
||||
emit sigErrorAuth(error);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_SendDeleteVersion(StreamingVersionData *streaming)
|
||||
{
|
||||
emit signal_SendDeleteVersion(streaming);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_SendSwitchVersion(StreamingVersionData *selectVersion)
|
||||
{
|
||||
emit signal_SendSwitchVersion(selectVersion);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_SendCopyVersion(QString versionPair)
|
||||
{
|
||||
emit signal_SendCopyVersion(versionPair);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_getVersion()
|
||||
{
|
||||
emit signal_SendGetVersion();
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_NotifyVersionControl(QString text)
|
||||
{
|
||||
emit signal_NotifyVersionControl(text);
|
||||
}
|
||||
|
||||
void ConnectorToServer::initialize()
|
||||
{
|
||||
createObjects();
|
||||
|
||||
bindConnection();
|
||||
|
||||
emit sigInitializeClient(recognizeSystem,sendSystem,connectionThread);
|
||||
|
||||
//SetConnectToServer();
|
||||
}
|
||||
|
||||
void ConnectorToServer::bindConnection()
|
||||
{
|
||||
connect(this,&ConnectorToServer::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
|
||||
connect(this,&ConnectorToServer::sigStopConnect,client,&TCPClient::setDisconnect,Qt::AutoConnection);
|
||||
|
||||
connect(this,&ConnectorToServer::sigSendAnswerToServer,sendSystem,&SendSystem::sendXMLAnswer,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAuth,this,&ConnectorToServer::slot_Auth);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigDeAuth,this,&ConnectorToServer::sigDeLoginResult);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigServerBlocked,this,&ConnectorToServer::slot_ServerBlocked);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigErrorAuth,this,&ConnectorToServer::slot_ErrorAuth);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::signal_ReceiveMessage,this,&ConnectorToServer::signal_receiveMessage,Qt::AutoConnection);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigShowServerDataList,this,&ConnectorToServer::slot_showServerList);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListInstructors,this,&ConnectorToServer::slot_AnswerQueryToDB_ListInstructors);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListGroups,this,&ConnectorToServer::slot_AnswerQueryToDB_ListGroups);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTrainees,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTrainees);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListComputers,this,&ConnectorToServer::slot_AnswerQueryToDB_ListComputers);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListClassrooms,this,&ConnectorToServer::slot_AnswerQueryToDB_ListClassrooms);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksAMMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksFIMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_FIM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_FIM);
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_AMM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_AMM);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnswerQuerySubProc,this,&ConnectorToServer::slot_AnswerQuerySubProc);
|
||||
|
||||
connect(client,&TCPClient::signal_ConnectedToServer,this,&ConnectorToServer::signal_ConnectedToServer,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigNotifyVersionControl,this,&ConnectorToServer::slot_NotifyVersionControl,Qt::AutoConnection);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigHashReady,this,&ConnectorToServer::slot_HashReady);
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::signal_AnswerDocsChanged,this,&ConnectorToServer::slot_AnswerDocsChanged);
|
||||
|
||||
connect(recognizeSystem, &RecognizeSystem::sigSetVersion, this, &ConnectorToServer::signal_SetVersion);
|
||||
connect(recognizeSystem, &RecognizeSystem::sigAnimationActivated, this, &ConnectorToServer::signal_AnimationActivated);
|
||||
|
||||
connect(this, &ConnectorToServer::signal_SendCopyVersion, sendSystem, &SendSystem::sendCopyVersion);
|
||||
connect(this, &ConnectorToServer::signal_SendDeleteVersion, sendSystem, &SendSystem::sendDeleteVersion);
|
||||
connect(this, &ConnectorToServer::signal_SendSwitchVersion, sendSystem, &SendSystem::sendChangeVersion);
|
||||
|
||||
connect(this, &ConnectorToServer::signal_SendGetVersion, sendSystem, &SendSystem::sendGetVersion);
|
||||
}
|
||||
|
||||
void ConnectorToServer::createObjects()
|
||||
{
|
||||
connectionThread = new QThread;
|
||||
|
||||
client = new TCPClient;
|
||||
client->moveToThread(connectionThread);
|
||||
|
||||
dataParser = new DataParser;
|
||||
|
||||
sendSystem = new SendSystem;
|
||||
sendSystem->moveToThread(connectionThread);
|
||||
|
||||
recognizeSystem = new RecognizeSystem;
|
||||
recognizeSystem->moveToThread(connectionThread);
|
||||
|
||||
connectionThread->start();
|
||||
connectionThread->setPriority(QThread::HighestPriority);
|
||||
}
|
||||
|
||||
SendSystem *ConnectorToServer::getSendSystem() const
|
||||
{
|
||||
return sendSystem;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user