diff --git a/DOCS/Алексей/Board.md b/DOCS/Алексей/Board.md index 9378343..e19c175 100644 --- a/DOCS/Алексей/Board.md +++ b/DOCS/Алексей/Board.md @@ -12,13 +12,12 @@ kanban-plugin: board ## bugs -- [ ] При старт стопе не сканится шэред дата ## feature client Unity - [ ] Добавить обновление инструктора, если он перелогинился -- [ ] убрать функционал смены версии с клиента +- [ ] При нажатии на кнопку обновить, менять надпись на Загрузка ## feature client QT @@ -38,11 +37,16 @@ kanban-plugin: board ## NOW -- [ ] добавить информацию Авторе и изменяемая версия или нет ## Complete +- [ ] Уведомление о том, что версия сервера неизменяемая и инструкция, что нужно переключить версию сервера, подтянуть изменяемую версию и перекинуть файлы + путь +- [ ] Qt ClientЖ отключать виджет версии при разьединении +- [ ] Отображать версию на сервере +- [ ] При удалении с клиента не удаляется папка на сервере +- [ ] убрать функционал смены версии с клиента +- [ ] добавить информацию Авторе и изменяемая версия или нет - [ ] отправлять сигнал на пересчет хэша с саб частью - [ ] GUI server: при неподключенном сервере, отключать попытку изменить версию - [ ] добавить автоматическое выключение после создания копии @@ -304,6 +308,7 @@ kanban-plugin: board ## Cancel +- [ ] При старт стопе не сканится шэред дата - [ ] разделения на серверное и GUI приложение - [ ] gui thread должен жить один - [ ] подготовить фасад для ui сервера diff --git a/ServerLMS/Data/StreamingVersionData.h b/ServerLMS/Data/StreamingVersionData.h index 2e3e892..20c19c9 100644 --- a/ServerLMS/Data/StreamingVersionData.h +++ b/ServerLMS/Data/StreamingVersionData.h @@ -13,7 +13,7 @@ public: this->viewName = viewName; this->createData = data; this->size = size; - this->isChangeable = true; + this->isChangeable = false; } StreamingVersionData(){}; diff --git a/ServerLMS/Systems/Parsers/processparser.cpp b/ServerLMS/Systems/Parsers/processparser.cpp index 49a3d24..a907109 100644 --- a/ServerLMS/Systems/Parsers/processparser.cpp +++ b/ServerLMS/Systems/Parsers/processparser.cpp @@ -58,6 +58,10 @@ void ProcessParser::read(ClientHandler *client, QByteArray array) clientNotify(xmlReader,client); } + else if(xmlReader.name() == "DataInfo") + { + clientDataInfo(xmlReader,client); + } else { emit sigLogMessage("XmlParser: unrecognized tag"); @@ -68,6 +72,25 @@ void ProcessParser::read(ClientHandler *client, QByteArray array) }//while(!xmlReader.atEnd()) } +void ProcessParser::clientDataInfo(QXmlStreamReader &xmlReader,ClientHandler *client) +{ + DataInfo *dataInfo = new DataInfo; + + foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()) + { + QString name = attr.name().toString(); + QString value = attr.value().toString(); + + if(name == "path") + dataInfo->path= value.toUtf8(); + + if(name == "size") + dataInfo->size = value.toLong(); + } + + processingSystem->setCurrentDataInfo(dataInfo); + +} void ProcessParser::clientAuth(QXmlStreamReader &xmlReader,ClientHandler *client) { ClientAutorization clientAutorization; diff --git a/ServerLMS/Systems/Parsers/processparser.h b/ServerLMS/Systems/Parsers/processparser.h index fc8dc05..cf6f8f8 100644 --- a/ServerLMS/Systems/Parsers/processparser.h +++ b/ServerLMS/Systems/Parsers/processparser.h @@ -2,9 +2,9 @@ #define PROCESSPARSER_H #include -#include #include #include +#include "Data/typesDataServerClient.h" class ProcessParser : public QObject { @@ -26,6 +26,7 @@ private: void queryTasksXML(QXmlStreamReader &xmlReader,ClientHandler *client); void clientMessage(QXmlStreamReader &xmlReader,ClientHandler *client); void clientNotify(QXmlStreamReader &xmlReader,ClientHandler *client); + void clientDataInfo(QXmlStreamReader &xmlReader, ClientHandler *client); }; #endif // PROCESSPARSER_H diff --git a/ServerLMS/Systems/assetsmanager.cpp b/ServerLMS/Systems/assetsmanager.cpp index 385dcb3..b707f58 100644 --- a/ServerLMS/Systems/assetsmanager.cpp +++ b/ServerLMS/Systems/assetsmanager.cpp @@ -286,7 +286,9 @@ void AssetsManager::writeVersionsToFile(QList version,boo if(isFirst) { attribute3 = {"isChangeable",QString::number(false)}; - attribute4 = {"author",tr("Константа-дизайн")}; + QString author = tr("Константа-дизайн"); + attribute4 = {"author",author}; + ver->setAuthor(author); }else { attribute3 ={"isChangeable",QString::number(ver->getIsChangeable())}; diff --git a/ServerLMS/Systems/processingsystem.cpp b/ServerLMS/Systems/processingsystem.cpp index 5a6a737..461b55a 100644 --- a/ServerLMS/Systems/processingsystem.cpp +++ b/ServerLMS/Systems/processingsystem.cpp @@ -24,6 +24,7 @@ void ProcessingSystem::initialize(ServerLMSWidget *server, connect(this,&ProcessingSystem::sigAuthChanged,commonClientHandler, &CommonClientHandler::slot_AuthChanged,Qt::AutoConnection); connect(this,&ProcessingSystem::sigUpdateListClients,server, &ServerLMSWidget::slotUpdateListClients,Qt::AutoConnection); + connect(this,&ProcessingSystem::sigSetData,updateController,&UpdateController::setDataInfo,Qt::AutoConnection); connect(this,&ProcessingSystem::signal_msgToClientReady,commonClientHandler, &CommonClientHandler::slot_msgToClientFromGUI); connect(this,&ProcessingSystem::signal_msgFromClientReady,commonClientHandler, &CommonClientHandler::slot_msgToGUIfromClient); connect(this,&ProcessingSystem::sigLogMessage,logger,&Logger::addTextToLogger,Qt::QueuedConnection); @@ -322,5 +323,10 @@ void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotif } } +void ProcessingSystem::setCurrentDataInfo(DataInfo *dataInfo) +{ + emit sigSetData(dataInfo); +} + diff --git a/ServerLMS/Systems/processingsystem.h b/ServerLMS/Systems/processingsystem.h index d412e7a..ca75dfa 100644 --- a/ServerLMS/Systems/processingsystem.h +++ b/ServerLMS/Systems/processingsystem.h @@ -38,6 +38,7 @@ public: void processingFromClientMessage(ClientHandler *client, ClientMessage clientMessage); void processingClientNotify(ClientHandler *client, ClientNotify clientNotify); + void setCurrentDataInfo(DataInfo *dataInfo); signals: void sigUpdateListClients(); void sigAuthChanged(); @@ -45,6 +46,7 @@ signals: void sigAddToMessanger(QString login,QString text); void signal_msgToClientReady(QString login, QString text); void signal_msgFromClientReady(QString login, QString text); + void sigSetData(DataInfo *dataInfo); private: CommonClientHandler *commonClientServer; diff --git a/ServerLMS/Systems/updatecontroller.cpp b/ServerLMS/Systems/updatecontroller.cpp index 9a45f73..52264ec 100644 --- a/ServerLMS/Systems/updatecontroller.cpp +++ b/ServerLMS/Systems/updatecontroller.cpp @@ -193,6 +193,11 @@ void UpdateController::setUpCurrentServerHash() saveHash(hashFileName,fileList); } +void UpdateController::setDataInfo(DataInfo *value) +{ + dataInfo = value; +} + QString UpdateController::getCurrentStreamingPath() const { return currentStreamingPath; diff --git a/ServerLMS/Systems/updatecontroller.h b/ServerLMS/Systems/updatecontroller.h index 1104ce8..0abbbdd 100644 --- a/ServerLMS/Systems/updatecontroller.h +++ b/ServerLMS/Systems/updatecontroller.h @@ -56,6 +56,8 @@ public: QString getPathAdditionalFile(QString name); StreamingVersionData *getCurrentVersion(); + void setDataInfo(DataInfo *value); + public slots: void changeAssetVersion(QString versionName); void createCopyVersion(QString versionName,QString newVersionName,QString author);