feat: change message and contac list attribute

This commit is contained in:
semenov
2025-08-04 09:23:03 +03:00
parent 4e1592575e
commit 501b84b13a
25 changed files with 134 additions and 41 deletions

View File

@@ -43,7 +43,7 @@ QByteArray ClientAnswerParser::deAuthorization(bool result, QString login)
return dataParser->xmlAnswer(listTag);
}
QByteArray ClientAnswerParser::message(QString loginFrom,QString loginTo,QString text)
QByteArray ClientAnswerParser::message(QString loginFrom,QString loginTo,QString text,QString type)
{
QList<SXmlAnswerTag> listTag;
QList<SAttribute> listAttr;
@@ -54,6 +54,8 @@ QByteArray ClientAnswerParser::message(QString loginFrom,QString loginTo,QString
listAttr.append(attribute1);
attribute1 = {"Text",text};
listAttr.append(attribute1);
attribute1 = {"UserType",type};
listAttr.append(attribute1);
SXmlAnswerTag tag = {"ClientMessage", listAttr};

View File

@@ -16,7 +16,7 @@ public:
QByteArray authorization(bool result, QString instructorName, QString clientName, QString accessType, QString login, int id);
QByteArray deAuthorization(bool result, QString login);
QByteArray message(QString loginFrom,QString loginTo,QString text);
QByteArray message(QString loginFrom,QString loginTo,QString text, QString userType);
QByteArray task(QString text);
QByteArray notify(QString code);
QByteArray tasks(QStringList listTasks);

View File

@@ -102,20 +102,22 @@ QByteArray DBAnswerParser::listClassrooms(bool result, QList<Classroom> *listCla
return QByteArray();
}
QByteArray DBAnswerParser::listContacts(bool result, QList<User> *listContacts)
QByteArray DBAnswerParser::listContacts(bool result, QList<ContactModel> *listContacts)
{
QDomDocument doc;
QDomProcessingInstruction xmlDecl = doc.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'");
doc.insertBefore(xmlDecl,doc.firstChild());
QDomElement root = doc.createElement("ContactArray");
for(User entity : *listContacts)
for(ContactModel entity : *listContacts)
{
QDomElement contact = doc.createElement("ContactData");
contact.toElement().setAttribute("name",entity.getName());
contact.toElement().setAttribute("id",entity.getID());
QString isLogged = entity.getLoggedIn() ? "1" : "0";
contact.toElement().setAttribute("isOnline",isLogged);
contact.toElement().setAttribute("UserType",entity.getType());
contact.toElement().setAttribute("Login",entity.getLogin());
root.appendChild(contact);
}

View File

@@ -6,6 +6,7 @@
#include <QObject>
#include <QDomDocument>
#include <contactModel.h>
class DBAnswerParser : public QObject
{
@@ -18,7 +19,7 @@ public:
QByteArray listTrainees(bool result, QList<Trainee> *listTrainees);
QByteArray listComputers(bool result, QList<Computer> *listComputers);
QByteArray listClassrooms(bool result, QList<Classroom> *listClassrooms);
QByteArray listContacts(bool result, QList<User> *listContacts);
QByteArray listContacts(bool result, QList<ContactModel> *listContacts);
QByteArray listTasksAMMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list);
QByteArray listTasksFIMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list);

View File

@@ -498,6 +498,8 @@ void ProcessParser::clientMessage(QXmlStreamReader &xmlReader,ClientHandler *cli
clientMessage.From = value;
if (name == "To")
clientMessage.To = value;
if (name == "UserType")
clientMessage.Type = value;
}
processingSystem->processingSendMessage(clientMessage);