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")) {
|
||||
// Only one ping process should run
|
||||
if (m_pingProcess || m_pingReply)
|
||||
@ -1413,6 +1442,56 @@ QByteArray DebugServerHandler::createDebugXmlDocument()
|
||||
writer.writeEndElement(); // div show-button-column
|
||||
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
|
||||
|
||||
|
||||
|
||||
@ -2215,6 +2215,9 @@ QPair<bool, QString> JsonTypes::validateBasicType(const QVariant &variant)
|
||||
if (variant.canConvert(QVariant::String) && QVariant(variant).convert(QVariant::String)) {
|
||||
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)) {
|
||||
return report(true, "");
|
||||
}
|
||||
|
||||
@ -72,8 +72,8 @@ HEADERS += devicemanager.h \
|
||||
plugintimer.h \
|
||||
hardwaremanager.h \
|
||||
nymeadbusservice.h \
|
||||
network/mqtt/mqttprovider.h \
|
||||
network/mqtt/mqttchannel.h
|
||||
network/mqtt/mqttprovider.h \
|
||||
network/mqtt/mqttchannel.h
|
||||
|
||||
SOURCES += devicemanager.cpp \
|
||||
loggingcategories.cpp \
|
||||
@ -131,8 +131,8 @@ SOURCES += devicemanager.cpp \
|
||||
plugintimer.cpp \
|
||||
hardwaremanager.cpp \
|
||||
nymeadbusservice.cpp \
|
||||
network/mqtt/mqttprovider.cpp \
|
||||
network/mqtt/mqttchannel.cpp
|
||||
network/mqtt/mqttprovider.cpp \
|
||||
network/mqtt/mqttchannel.cpp
|
||||
|
||||
|
||||
# install plugininfo python script for libnymea-dev
|
||||
|
||||
Reference in New Issue
Block a user