-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Can't save Accounts_CustomFields in ./packages/rocketchat-lib/server/startup/settings.js #9763
Description
Description:
I'm new to Rocket.Chat and I can not sure whether it is a bug, I'm debugging for this problem 2 days, can anyone please help?
I want to add some CustomFields in user's account, so I modify the setting in ./packages/rocketchat-lib/server/startup/settings.js
this.add('Accounts_CustomFields', '[HERE IS MY CUSTOM VALUE]', {
type: 'code',
'public': true,
i18nLabel: 'Custom_Fields'
});
and then I start the server in debug mode, I try to reg a new account throw REST API, in the file
./server/methods/registerUser.js there is a method call:
RocketChat.saveCustomFields(userId, formData); -->
if (s.trim(RocketChat.settings.get('Accounts_CustomFields')) !== '')
and the if test always return false because RocketChat.settings.get('Accounts_CustomFields') always return '' (empty string)
it seems the code in server/startup/settings.js just did not work, and i don't know why, can any one help me to figure out the problem? thanks
Server Setup Information:
- Version of Rocket.Chat Server: 0.61.0-develop
- Operating System: macOS High Sierra 10.13.3
- Deployment Method(snap/docker/tar/etc): tar
- Number of Running Instances: 1
- DB Replicaset Oplog:
- Node Version:8.9.3 - x64
Steps to Reproduce:
- modify ./packages/rocketchat-lib/server/startup/settings.js,
this.add('Accounts_CustomFields', '[HERE IS MY CUSTOM VALUE]', {...}
you can just type a 'test' string - modify ./packages/rocketchat-lib/server/functions/saveCustomFields.js, add
let value = RocketChat.settings.get('Accounts_CustomFields');
console.log(value);
debugger;
in the saveCustomFields function, before the if test - reg a user from web or REST API
Expected behavior:
in the log (or breakpoint) , the value of RocketChat.settings.get('Accounts_CustomFields');
show be test, not ''(empty string)
Actual behavior:
in the log (or breakpoint) , the value of RocketChat.settings.get('Accounts_CustomFields');
is alway ''(empty string), and the if test will fail, and can't save the CustomFields