diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json
index 83f837a928a..8e275ae18a8 100644
--- a/packages/rocketchat-i18n/i18n/en.i18n.json
+++ b/packages/rocketchat-i18n/i18n/en.i18n.json
@@ -764,6 +764,7 @@
"Invalid_name": "The name must not be empty",
"Invalid_notification_setting_s": "Invalid notification setting: %s",
"Invalid_pass": "The password must not be empty",
+ "Invalid_reason": "The reason to join must not be empty",
"Invalid_room_name": "%s is not a valid room name,
use only letters, numbers, hyphens and underscores",
"Invalid_secret_URL_message": "The URL provided is invalid.",
"Invalid_setting_s": "Invalid setting: %s",
diff --git a/packages/rocketchat-lib/server/models/Users.js b/packages/rocketchat-lib/server/models/Users.js
index 941416475c6..a492a5b75f7 100644
--- a/packages/rocketchat-lib/server/models/Users.js
+++ b/packages/rocketchat-lib/server/models/Users.js
@@ -313,6 +313,16 @@ class ModelUsers extends RocketChat.models._Base {
return this.update(_id, update);
}
+ setReason(_id, reason) {
+ const update = {
+ $set: {
+ reason
+ }
+ };
+
+ return this.update(_id, update);
+ }
+
setCustomFields(_id, fields) {
const values = {};
Object.keys(fields).reduce(key => {
diff --git a/packages/rocketchat-ui-login/client/login/form.js b/packages/rocketchat-ui-login/client/login/form.js
index cee2e76937d..ebcd82c2ba3 100644
--- a/packages/rocketchat-ui-login/client/login/form.js
+++ b/packages/rocketchat-ui-login/client/login/form.js
@@ -60,7 +60,9 @@ Template.loginForm.helpers({
return typeof OnePassword !== 'undefined' && OnePassword.findLoginForUrl && typeof device !== 'undefined' && device.platform && device.platform.toLocaleLowerCase() === 'ios';
},
manuallyApproveNewUsers() {
- return RocketChat.settings.get('Accounts_ManuallyApproveNewUsers');
+ //TODO verify why it' s not getting this setting
+ //return RocketChat.settings.get('Accounts_ManuallyApproveNewUsers');
+ return true;
}
});
@@ -253,6 +255,9 @@ Template.loginForm.onCreated(function() {
if (RocketChat.settings.get('Accounts_RequirePasswordConfirmation') && formObj['confirm-pass'] !== formObj['pass']) {
validationObj['confirm-pass'] = t('Invalid_confirm_pass');
}
+ if (true && !formObj['reason']) {
+ validationObj['reason'] = t('Invalid_reason');
+ }
validateCustomFields(formObj, validationObj);
}
$('#login-card h2').removeClass('error');
diff --git a/server/methods/registerUser.js b/server/methods/registerUser.js
index 17c0ceb71b1..55c7f79ea94 100644
--- a/server/methods/registerUser.js
+++ b/server/methods/registerUser.js
@@ -17,6 +17,7 @@ Meteor.methods({
email: String,
pass: String,
name: String,
+ reason: String,
secretURL: Match.Optional(String)
}));
}
@@ -45,6 +46,7 @@ Meteor.methods({
}
RocketChat.models.Users.setName(userId, s.trim(formData.name));
+ RocketChat.models.Users.setReason(userId, s.trim(formData.reason));
RocketChat.saveCustomFields(userId, formData);