Handle configurationControl set cloud return success

This commit is contained in:
Phat Nguyen
2024-06-08 12:28:17 +07:00
parent 89aefdda43
commit d4ea03f39e

View File

@ -236,6 +236,9 @@ bool Configuration::parse(String data, bool isLocal) {
/** Get ConfigurationControl */ /** Get ConfigurationControl */
String lastCtrl = jconfig[jprop_configurationControl]; String lastCtrl = jconfig[jprop_configurationControl];
const char *msg = "Monitor set to accept only configuration from the "
"cloud. Use property configurationControl to change.";
if (isLocal) { if (isLocal) {
if (JSON.typeof_(root[jprop_configurationControl]) == "string") { if (JSON.typeof_(root[jprop_configurationControl]) == "string") {
String ctrl = root[jprop_configurationControl]; String ctrl = root[jprop_configurationControl];
@ -250,7 +253,17 @@ bool Configuration::parse(String data, bool isLocal) {
[ConfigurationControl::ConfigurationControlCloud])) { [ConfigurationControl::ConfigurationControlCloud])) {
if (ctrl != lastCtrl) { if (ctrl != lastCtrl) {
jconfig[jprop_configurationControl] = ctrl; jconfig[jprop_configurationControl] = ctrl;
changed = true; saveConfig();
configLogInfo(String(jprop_configurationControl), lastCtrl,
jconfig[jprop_configurationControl]);
}
/** Check to return result if configurationControl is 'cloud' */
if (ctrl ==
String(CONFIGURATION_CONTROL_NAME
[ConfigurationControl::ConfigurationControlCloud])) {
failedMessage = String(msg);
return true;
} }
} else { } else {
failedMessage = failedMessage =
@ -267,18 +280,11 @@ bool Configuration::parse(String data, bool isLocal) {
} }
} }
if (changed) { /** Ignore all configuration value if 'configurationControl' is 'cloud' */
changed = false;
saveConfig();
configLogInfo(String(jprop_configurationControl), lastCtrl,
jconfig[jprop_configurationControl]);
}
if (jconfig[jprop_configurationControl] == if (jconfig[jprop_configurationControl] ==
String(CONFIGURATION_CONTROL_NAME String(CONFIGURATION_CONTROL_NAME
[ConfigurationControl::ConfigurationControlCloud])) { [ConfigurationControl::ConfigurationControlCloud])) {
failedMessage = "Monitor set to accept only configuration from the " failedMessage = String(msg);
"cloud. Use property configurationControl to change.";
jsonInvalid(); jsonInvalid();
return false; return false;
} }