mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-27 05:11:29 -04:00
Refactored conflicted name checking so it can be used in more places
This commit is contained in:
parent
252edef9e5
commit
0be03aa1fe
3 changed files with 17 additions and 13 deletions
app
|
@ -68,6 +68,13 @@ module.exports = class User extends CocoModel
|
|||
cache[idOrSlug] = user
|
||||
user
|
||||
|
||||
@getUnconflictedName: (name, done) ->
|
||||
$.ajax "/auth/name/#{name}",
|
||||
success: (data) -> done data.name
|
||||
statusCode: 409: (data) ->
|
||||
response = JSON.parse data.responseText
|
||||
done response.name
|
||||
|
||||
getEnabledEmails: ->
|
||||
@migrateEmails()
|
||||
emails = _.clone(@get('emails')) or {}
|
||||
|
|
|
@ -63,16 +63,13 @@ module.exports = class SettingsView extends View
|
|||
|
||||
checkNameExists: =>
|
||||
name = $('#name').val()
|
||||
console.debug 'about to check for ' + name
|
||||
$.ajax "/auth/name/#{name}",
|
||||
success: (data) =>
|
||||
forms.clearFormAlerts(@$el)
|
||||
User.getUnconflictedName name, (newName) =>
|
||||
forms.clearFormAlerts(@$el)
|
||||
if name is newName
|
||||
@suggestedName = undefined
|
||||
statusCode: 409: (data) =>
|
||||
forms.clearFormAlerts(@$el)
|
||||
response = JSON.parse data.responseText
|
||||
@suggestedName = response.name
|
||||
forms.setErrorToProperty @$el, 'name', "This name is already taken. What about #{response.name}?", true
|
||||
else
|
||||
@suggestedName = newName
|
||||
forms.setErrorToProperty @$el, 'name', "This name is already taken. What about #{newName}?", true
|
||||
|
||||
afterRender: ->
|
||||
super()
|
||||
|
|
|
@ -4,6 +4,7 @@ WizardSprite = require 'lib/surface/WizardSprite'
|
|||
ThangType = require 'models/ThangType'
|
||||
{me} = require 'lib/auth'
|
||||
forms = require 'lib/forms'
|
||||
User = require 'models/User'
|
||||
|
||||
module.exports = class WizardSettingsModal extends View
|
||||
id: 'wizard-settings-modal'
|
||||
|
@ -28,10 +29,9 @@ module.exports = class WizardSettingsModal extends View
|
|||
checkNameExists: =>
|
||||
forms.clearFormAlerts(@$el)
|
||||
name = $('#wizard-settings-name').val()
|
||||
$.ajax "/auth/name/#{name}",
|
||||
success: (data) =>
|
||||
forms.clearFormAlerts(@$el)
|
||||
statusCode: 409: (data) =>
|
||||
User.getUnconflictedName name, (newName) =>
|
||||
forms.clearFormAlerts(@$el)
|
||||
if name isnt newName
|
||||
forms.setErrorToProperty @$el, 'name', 'This name is already taken so you won\'t be able to keep it.', true
|
||||
|
||||
onWizardSettingsDone: ->
|
||||
|
|
Loading…
Add table
Reference in a new issue