mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-27 09:35:39 -05:00
Add first/last names to Account Settings
This commit is contained in:
parent
e34abb0d27
commit
94e3c5a2b5
4 changed files with 27 additions and 7 deletions
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
//- Fixed save button
|
//- Fixed save button
|
||||||
#site-content-area
|
#site-content-area
|
||||||
|
width: auto
|
||||||
|
max-width: 1024px
|
||||||
padding-bottom: 44px
|
padding-bottom: 44px
|
||||||
|
|
||||||
#save-button-container
|
#save-button-container
|
||||||
|
@ -20,9 +22,7 @@
|
||||||
opacity: 1.0
|
opacity: 1.0
|
||||||
|
|
||||||
#account-settings-view
|
#account-settings-view
|
||||||
|
padding-top: 20px
|
||||||
.row
|
|
||||||
padding-top: 20px
|
|
||||||
|
|
||||||
//- Panels
|
//- Panels
|
||||||
.panel-heading
|
.panel-heading
|
||||||
|
|
|
@ -10,15 +10,17 @@ else
|
||||||
.panel-body
|
.panel-body
|
||||||
.form
|
.form
|
||||||
- var name = me.get('name') || '';
|
- var name = me.get('name') || '';
|
||||||
|
- var firstName = me.get('firstName') || '';
|
||||||
|
- var lastName = me.get('lastName') || '';
|
||||||
- var email = me.get('email') || '';
|
- var email = me.get('email') || '';
|
||||||
- var admin = me.get('permissions', true).indexOf('admin') != -1;
|
- var admin = me.get('permissions', true).indexOf('admin') != -1;
|
||||||
- var godmode = me.get('permissions', true).indexOf('godmode') != -1;
|
- var godmode = me.get('permissions', true).indexOf('godmode') != -1;
|
||||||
.form-group
|
.form-group
|
||||||
label.control-label(for="name", data-i18n="general.name") Name
|
label.control-label(for="name", data-i18n="general.username")
|
||||||
input#name-input.form-control(name="name", type="text", value="#{name}")
|
input#name-input.form-control(name="name", type="text", value="#{name}")
|
||||||
.form-group
|
.form-group
|
||||||
label.control-label(for="email")
|
label.control-label(for="email")
|
||||||
span(data-i18n="general.email") Email
|
span(data-i18n="general.email")
|
||||||
unless me.get('emailVerified')
|
unless me.get('emailVerified')
|
||||||
span.spl (
|
span.spl (
|
||||||
span.spr(data-i18n="account.not_yet_verified")
|
span.spr(data-i18n="account.not_yet_verified")
|
||||||
|
@ -27,12 +29,23 @@ else
|
||||||
span.sent-text.hide(data-i18n="account.email_sent")
|
span.sent-text.hide(data-i18n="account.email_sent")
|
||||||
span )
|
span )
|
||||||
input#email.form-control(name="email", type="text", value="#{email}")
|
input#email.form-control(name="email", type="text", value="#{email}")
|
||||||
|
.row
|
||||||
|
.form-group.col-sm-6
|
||||||
|
label.control-label(for="firstName", data-i18n="general.first_name")
|
||||||
|
input#first-name-input.form-control(name="firstName", type="text", value="#{firstName}")
|
||||||
|
.form-group.col-sm-6
|
||||||
|
if me.isStudent()
|
||||||
|
label.control-label(for="lastName", data-i18n="general.last_initial")
|
||||||
|
input#last-name-input.form-control(name="lastName", type="text", value="#{lastName}", maxlength="1")
|
||||||
|
else
|
||||||
|
label.control-label(for="lastName", data-i18n="general.last_name")
|
||||||
|
input#last-name-input.form-control(name="lastName", type="text", value="#{lastName}")
|
||||||
if !isProduction
|
if !isProduction
|
||||||
.form-group.checkbox
|
.form-group.checkbox
|
||||||
label(for="admin", data-i18n="account_settings.admin") Admin
|
label(for="admin", data-i18n="account_settings.admin")
|
||||||
input#admin(name="admin", type="checkbox", checked=admin)
|
input#admin(name="admin", type="checkbox", checked=admin)
|
||||||
.form-group.checkbox
|
.form-group.checkbox
|
||||||
label(for="godmode", data-i18n="account_settings.god_mode") God Mode
|
label(for="godmode", data-i18n="account_settings.god_mode")
|
||||||
input#godmode(name="godmode", type="checkbox", checked=godmode)
|
input#godmode(name="godmode", type="checkbox", checked=godmode)
|
||||||
if me.hasSubscription()
|
if me.hasSubscription()
|
||||||
.form-group
|
.form-group
|
||||||
|
|
|
@ -266,6 +266,8 @@ module.exports = class AccountSettingsView extends CocoView
|
||||||
grabOtherData: ->
|
grabOtherData: ->
|
||||||
@$el.find('#name-input').val @suggestedName if @suggestedName
|
@$el.find('#name-input').val @suggestedName if @suggestedName
|
||||||
me.set 'name', @$el.find('#name-input').val()
|
me.set 'name', @$el.find('#name-input').val()
|
||||||
|
me.set 'firstName', @$el.find('#first-name-input').val()
|
||||||
|
me.set 'lastName', @$el.find('#last-name-input').val()
|
||||||
me.set 'email', @$el.find('#email').val()
|
me.set 'email', @$el.find('#email').val()
|
||||||
for emailName, enabled of @getSubscriptions()
|
for emailName, enabled of @getSubscriptions()
|
||||||
me.setEmailSubscription emailName, enabled
|
me.setEmailSubscription emailName, enabled
|
||||||
|
|
|
@ -369,6 +369,11 @@ UserSchema.pre('save', (next) ->
|
||||||
else
|
else
|
||||||
@set('name', undefined)
|
@set('name', undefined)
|
||||||
@set('nameLower', undefined)
|
@set('nameLower', undefined)
|
||||||
|
|
||||||
|
if _.isEmpty(@get('firstName'))
|
||||||
|
@set('firstName', undefined)
|
||||||
|
if _.isEmpty(@get('lastName'))
|
||||||
|
@set('lastName', undefined)
|
||||||
|
|
||||||
unless email or name or @get('anonymous') or @get('deleted')
|
unless email or name or @get('anonymous') or @get('deleted')
|
||||||
return next(new errors.UnprocessableEntity('User needs a username or email address'))
|
return next(new errors.UnprocessableEntity('User needs a username or email address'))
|
||||||
|
|
Loading…
Reference in a new issue