Skip to content
Snippets Groups Projects
Commit 7e7ef28a authored by graywolf336's avatar graywolf336
Browse files

Add a field on the account profile to be able to change a user's real name.

parent d68d789d
No related branches found
No related tags found
No related merge requests found
......@@ -9,16 +9,19 @@ Template.accountProfile.helpers
userLanguage: (key) ->
return (localStorage.getItem('userLanguage') or defaultUserLanguage())?.split('-').shift().toLowerCase() is key
realname: ->
return Meteor.user().name
username: ->
return Meteor.user().username
allowUsernameChange: ->
return RocketChat.settings.get("Accounts_AllowUsernameChange")
usernameChangeDisabled: ->
return t('Username_Change_Disabled')
Template.accountProfile.onCreated ->
settingsTemplate = this.parentTemplate(3)
......@@ -62,6 +65,9 @@ Template.accountProfile.onCreated ->
data.language = selectedLanguage
reload = true
if _.trim $('#realname').val()
data.realname = _.trim $('#realname').val()
if _.trim $('#username').val()
data.username = _.trim $('#username').val()
......
......@@ -9,6 +9,12 @@
<div class="content">
<div class="rocket-form">
<fieldset>
<div class="input-line">
<label for="realname">{{_ "Name"}}</label>
<div>
<input type="text" name="realname" id="realname" value="{{realname}}" />
</div>
</div>
<div class="input-line">
<label for="username">{{_ "Username"}}</label>
<div>
......
......@@ -59,6 +59,7 @@ Package.onUse(function(api) {
api.addFiles('server/methods/joinDefaultChannels.coffee', 'server');
api.addFiles('server/methods/sendInvitationEmail.coffee', 'server');
api.addFiles('server/methods/setAdminStatus.coffee', 'server');
api.addFiles('server/methods/setName.coffee', 'server');
api.addFiles('server/methods/setUsername.coffee', 'server');
api.addFiles('server/methods/updateUser.coffee', 'server');
......
Meteor.methods
setName: (name) ->
if not Meteor.userId()
throw new Meteor.Error('invalid-user', "[methods] setName -> Invalid user")
console.log '[methods] setName -> '.green, 'userId:', Meteor.userId(), 'arguments:', arguments
user = Meteor.user()
if user.name is name
return name
if not /^[0-9a-zA-Z-_. ]+$/.test name
throw new Meteor.Error 'name-invalid', "#{name} is not a valid name, use only letters, numbers, dots, dashes, and spaces"
unless RocketChat.models.Users.setName Meteor.userId(), name
throw new Meteor.Error 'could-not-change-name', "Could not change name"
return name
......@@ -7,6 +7,9 @@ Meteor.methods
# if settings.password?
# Accounts.setPassword Meteor.userId(), settings.password, { logout: false }
if settings.realname?
Meteor.call 'setName', settings.realname
if settings.username?
Meteor.call 'setUsername', settings.username
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment