From ba929626c21c86f2283b334b9bd269a23cb02b33 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 25 Sep 2014 18:25:16 -0700 Subject: [PATCH] fix for undefined placeholder values --- .../resources/describe-settings.json | 3 +-- domain-server/resources/web/js/settings.js | 22 ++++++++++++------- .../src/DomainServerSettingsManager.cpp | 9 +++++++- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index d923dc7bde..a2f9deccf6 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -48,8 +48,7 @@ "name": "unattenuated-zone", "label": "Unattenuated Zone", "help": "Boxes for source and listener (corner x, corner y, corner z, size x, size y, size z, corner x, corner y, corner z, size x, size y, size z)", - "placeholder": "no zone", - "default": "" + "placeholder": "no zone" }, { "name": "dynamic-jitter-buffer", diff --git a/domain-server/resources/web/js/settings.js b/domain-server/resources/web/js/settings.js index 6a97a577ca..d17c3e3af6 100644 --- a/domain-server/resources/web/js/settings.js +++ b/domain-server/resources/web/js/settings.js @@ -5,15 +5,18 @@ var viewHelpers = { setting_id = groupName + "." + setting.name form_group = "
" - setting_value = _.has(values, groupName) && _.has(values[groupName], setting.name) - ? values[groupName][setting.name] - : setting.default - + + if (_.has(values, groupName) && _.has(values[groupName], setting.name)) { + setting_value = values[groupName][setting.name] + } else if (_.has(setting, 'default')) { + setting_value = setting.default + } else { + setting_value = "" + } + console.log("Value for " + setting.name + " is " + setting_value) if (setting.type === 'checkbox') { - - form_group += "" form_group += "
" form_group += ""; form_group += "
" } else { + input_type = _.has(setting, 'type') ? setting.type : "text" + form_group += ""; - form_group += "" + form_group += "" form_group += "" + setting.help + "" } diff --git a/domain-server/src/DomainServerSettingsManager.cpp b/domain-server/src/DomainServerSettingsManager.cpp index b13e8eb38c..f5f0bec2c5 100644 --- a/domain-server/src/DomainServerSettingsManager.cpp +++ b/domain-server/src/DomainServerSettingsManager.cpp @@ -99,7 +99,14 @@ bool DomainServerSettingsManager::handlePublicHTTPRequest(HTTPConnection* connec if (variantValue.isNull()) { // no value for this setting, pass the default - groupResponseObject[settingKey] = settingObject[SETTING_DEFAULT_KEY]; + if (settingObject.contains(SETTING_DEFAULT_KEY)) { + groupResponseObject[settingKey] = settingObject[SETTING_DEFAULT_KEY]; + } else { + // users are allowed not to provide a default for string values + // if so we set to the empty string + groupResponseObject[settingKey] = QString(""); + } + } else { groupResponseObject[settingKey] = QJsonValue::fromVariant(variantValue); }