fix issues from review
This commit is contained in:
parent
16cdd29eb8
commit
7764bc8757
@ -303,6 +303,35 @@ HttpReply *DebugServerHandler::processDebugRequest(const QString &requestPath, c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (requestPath.startsWith("/debug/settings/mqttpolicies")) {
|
||||||
|
QString settingsFileName = NymeaSettings(NymeaSettings::SettingsRoleMqttPolicies).fileName();
|
||||||
|
qCDebug(dcDebugServer()) << "Loading" << settingsFileName;
|
||||||
|
QFile settingsFile(settingsFileName);
|
||||||
|
if (!settingsFile.exists()) {
|
||||||
|
qCWarning(dcDebugServer()) << "Could not read file for debug download" << settingsFileName << "file does not exist.";
|
||||||
|
HttpReply *reply = RestResource::createErrorReply(HttpReply::NotFound);
|
||||||
|
reply->setHeader(HttpReply::ContentTypeHeader, "text/html");
|
||||||
|
reply->setPayload(createErrorXmlDocument(HttpReply::NotFound, tr("Could not find file \"%1\".").arg(settingsFileName)));
|
||||||
|
return reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!settingsFile.open(QFile::ReadOnly)) {
|
||||||
|
qCWarning(dcDebugServer()) << "Could not read file for debug download" << settingsFileName;
|
||||||
|
HttpReply *reply = RestResource::createErrorReply(HttpReply::Forbidden);
|
||||||
|
reply->setHeader(HttpReply::ContentTypeHeader, "text/html");
|
||||||
|
reply->setPayload(createErrorXmlDocument(HttpReply::NotFound, tr("Could not open file \"%1\".").arg(settingsFileName)));
|
||||||
|
return reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
QByteArray settingsFileData = settingsFile.readAll();
|
||||||
|
settingsFile.close();
|
||||||
|
|
||||||
|
HttpReply *reply = RestResource::createSuccessReply();
|
||||||
|
reply->setHeader(HttpReply::ContentTypeHeader, "text/plain");
|
||||||
|
reply->setPayload(settingsFileData);
|
||||||
|
return reply;
|
||||||
|
}
|
||||||
|
|
||||||
if (requestPath.startsWith("/debug/ping")) {
|
if (requestPath.startsWith("/debug/ping")) {
|
||||||
// Only one ping process should run
|
// Only one ping process should run
|
||||||
if (m_pingProcess || m_pingReply)
|
if (m_pingProcess || m_pingReply)
|
||||||
@ -1413,6 +1442,56 @@ QByteArray DebugServerHandler::createDebugXmlDocument()
|
|||||||
writer.writeEndElement(); // div show-button-column
|
writer.writeEndElement(); // div show-button-column
|
||||||
writer.writeEndElement(); // div download-row
|
writer.writeEndElement(); // div download-row
|
||||||
|
|
||||||
|
|
||||||
|
// Download row MQTT policies
|
||||||
|
writer.writeStartElement("div");
|
||||||
|
writer.writeAttribute("class", "download-row");
|
||||||
|
|
||||||
|
writer.writeStartElement("div");
|
||||||
|
writer.writeAttribute("class", "download-name-column");
|
||||||
|
//: The MQTT policies download description of the debug interface
|
||||||
|
writer.writeTextElement("p", tr("MQTT policies"));
|
||||||
|
writer.writeEndElement(); // div download-name-column
|
||||||
|
|
||||||
|
writer.writeStartElement("div");
|
||||||
|
writer.writeAttribute("class", "download-path-column");
|
||||||
|
writer.writeTextElement("p", NymeaSettings(NymeaSettings::SettingsRoleMqttPolicies).fileName());
|
||||||
|
writer.writeEndElement(); // div download-path-column
|
||||||
|
|
||||||
|
writer.writeStartElement("div");
|
||||||
|
writer.writeAttribute("class", "download-button-column");
|
||||||
|
writer.writeStartElement("form");
|
||||||
|
writer.writeAttribute("class", "download-button");
|
||||||
|
writer.writeStartElement("button");
|
||||||
|
writer.writeAttribute("class", "button");
|
||||||
|
writer.writeAttribute("type", "button");
|
||||||
|
if (!QFile::exists(NymeaSettings(NymeaSettings::SettingsRoleMqttPolicies).fileName())) {
|
||||||
|
writer.writeAttribute("disabled", "true");
|
||||||
|
}
|
||||||
|
writer.writeAttribute("onClick", "downloadFile('/debug/settings/mqttpolicies', 'mqttpolicies.conf')");
|
||||||
|
writer.writeCharacters(tr("Download"));
|
||||||
|
writer.writeEndElement(); // button
|
||||||
|
writer.writeEndElement(); // form
|
||||||
|
writer.writeEndElement(); // div download-button-column
|
||||||
|
|
||||||
|
writer.writeStartElement("div");
|
||||||
|
writer.writeAttribute("class", "show-button-column");
|
||||||
|
writer.writeStartElement("form");
|
||||||
|
writer.writeAttribute("class", "show-button");
|
||||||
|
writer.writeStartElement("button");
|
||||||
|
writer.writeAttribute("class", "button");
|
||||||
|
writer.writeAttribute("type", "button");
|
||||||
|
if (!QFile::exists(NymeaSettings(NymeaSettings::SettingsRoleMqttPolicies).fileName())) {
|
||||||
|
writer.writeAttribute("disabled", "true");
|
||||||
|
}
|
||||||
|
writer.writeAttribute("onClick", "showFile('/debug/settings/mqttpolicies')");
|
||||||
|
writer.writeCharacters(tr("Show"));
|
||||||
|
writer.writeEndElement(); // button
|
||||||
|
writer.writeEndElement(); // form
|
||||||
|
writer.writeEndElement(); // div show-button-column
|
||||||
|
|
||||||
|
writer.writeEndElement(); // div download-row
|
||||||
|
|
||||||
writer.writeEndElement(); // downloads-section
|
writer.writeEndElement(); // downloads-section
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2215,6 +2215,9 @@ QPair<bool, QString> JsonTypes::validateBasicType(const QVariant &variant)
|
|||||||
if (variant.canConvert(QVariant::String) && QVariant(variant).convert(QVariant::String)) {
|
if (variant.canConvert(QVariant::String) && QVariant(variant).convert(QVariant::String)) {
|
||||||
return report(true, "");
|
return report(true, "");
|
||||||
}
|
}
|
||||||
|
if (variant.canConvert(QVariant::StringList) && QVariant(variant).convert(QVariant::StringList)) {
|
||||||
|
return report(true, "");
|
||||||
|
}
|
||||||
if (variant.canConvert(QVariant::Int) && QVariant(variant).convert(QVariant::Int)) {
|
if (variant.canConvert(QVariant::Int) && QVariant(variant).convert(QVariant::Int)) {
|
||||||
return report(true, "");
|
return report(true, "");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -72,8 +72,8 @@ HEADERS += devicemanager.h \
|
|||||||
plugintimer.h \
|
plugintimer.h \
|
||||||
hardwaremanager.h \
|
hardwaremanager.h \
|
||||||
nymeadbusservice.h \
|
nymeadbusservice.h \
|
||||||
network/mqtt/mqttprovider.h \
|
network/mqtt/mqttprovider.h \
|
||||||
network/mqtt/mqttchannel.h
|
network/mqtt/mqttchannel.h
|
||||||
|
|
||||||
SOURCES += devicemanager.cpp \
|
SOURCES += devicemanager.cpp \
|
||||||
loggingcategories.cpp \
|
loggingcategories.cpp \
|
||||||
@ -131,8 +131,8 @@ SOURCES += devicemanager.cpp \
|
|||||||
plugintimer.cpp \
|
plugintimer.cpp \
|
||||||
hardwaremanager.cpp \
|
hardwaremanager.cpp \
|
||||||
nymeadbusservice.cpp \
|
nymeadbusservice.cpp \
|
||||||
network/mqtt/mqttprovider.cpp \
|
network/mqtt/mqttprovider.cpp \
|
||||||
network/mqtt/mqttchannel.cpp
|
network/mqtt/mqttchannel.cpp
|
||||||
|
|
||||||
|
|
||||||
# install plugininfo python script for libnymea-dev
|
# install plugininfo python script for libnymea-dev
|
||||||
|
|||||||
Reference in New Issue
Block a user