parse '123' to 123 if it has no default

v1.18.x
Barış Soner Uşaklı 7 years ago
parent d07e3e6d97
commit 7a44424214

@ -1,6 +1,7 @@
{
"title": "NodeBB",
"showSiteTitle": 1,
"defaultLang": "en-GB",
"loginDays": 14,
"loginSeconds": 0,
"loginAttempts": 5,

@ -42,7 +42,7 @@ editController.get = function (req, res, callback) {
userData.allowWebsite = !userData.isSelf || userData.reputation >= meta.config['min:rep:website'];
userData.allowAboutMe = !userData.isSelf || userData.reputation >= meta.config['min:rep:aboutme'];
userData.allowSignature = results.canUseSignature && (!userData.isSelf || userData.reputation >= meta.config['min:rep:signature']);
userData.profileImageDimension = meta.config.profileImageDimension || 200;
userData.profileImageDimension = meta.config.profileImageDimension;
userData.defaultAvatar = user.getDefaultAvatar();
userData.groups = userData.groups.filter(function (group) {

@ -14,7 +14,7 @@ languagesController.get = function (req, res, next) {
},
function (languages) {
languages.forEach(function (language) {
language.selected = language.code === (meta.config.defaultLang || 'en-GB');
language.selected = language.code === meta.config.defaultLang;
});
res.render('admin/general/languages', {

@ -21,11 +21,11 @@ function deserialize(config) {
Object.keys(config).forEach(function (key) {
const defaultType = typeof defaults[key];
const type = typeof config[key];
const number = parseFloat(config[key]);
if ((defaultType === 'string' || defaultType === 'undefined') && type === 'number') {
if (defaultType === 'string' && type === 'number') {
deserialized[key] = String(config[key]);
} else if (defaultType === 'number' && type === 'string') {
const number = parseFloat(config[key]);
if (!isNaN(number) && isFinite(config[key])) {
deserialized[key] = number;
} else {
@ -37,6 +37,8 @@ function deserialize(config) {
deserialized[key] = false;
} else if (config[key] === null) {
deserialized[key] = defaults[key];
} else if (defaultType === 'undefined' && !isNaN(number) && isFinite(config[key])) {
deserialized[key] = number;
} else {
deserialized[key] = config[key];
}

@ -218,7 +218,7 @@ describe('meta', function () {
assert.ifError(err);
meta.configs.getFields(['numericField'], function (err, data) {
assert.ifError(err);
assert.strictEqual(data.numericField, '123');
assert.strictEqual(data.numericField, 123);
done();
});
});
@ -236,11 +236,11 @@ describe('meta', function () {
});
it('should set boolean config value', function (done) {
meta.configs.set('booleanField', 'true', function (err) {
meta.configs.set('booleanField', 'false', function (err) {
assert.ifError(err);
meta.configs.getFields(['booleanField'], function (err, data) {
assert.ifError(err);
assert.strictEqual(data.booleanField, true);
assert.strictEqual(data.booleanField, false);
done();
});
});
@ -251,7 +251,7 @@ describe('meta', function () {
assert.ifError(err);
meta.configs.getFields(['stringField'], function (err, data) {
assert.ifError(err);
assert.strictEqual(data.stringField, '123');
assert.strictEqual(data.stringField, 123);
done();
});
});

Loading…
Cancel
Save