Fix sshkey form
This commit is contained in:
parent
4a401dc8cb
commit
767e49d95a
|
@ -4,11 +4,21 @@
|
||||||
Adapter = ApplicationAdapter.extend
|
Adapter = ApplicationAdapter.extend
|
||||||
namespace: 'settings'
|
namespace: 'settings'
|
||||||
|
|
||||||
|
find: (store, type, id, record) ->
|
||||||
|
@ajax(this.urlPrefix() + '/ssh_key/' + id, 'GET')
|
||||||
|
|
||||||
|
deleteRecord: (store, type, record) ->
|
||||||
|
id = Ember.get(record, 'id')
|
||||||
|
|
||||||
|
@ajax(this.urlPrefix() + '/ssh_key/' + id, "DELETE");
|
||||||
|
|
||||||
createRecord: (store, type, record) ->
|
createRecord: (store, type, record) ->
|
||||||
data = {};
|
data = {};
|
||||||
serializer = store.serializerFor(type.typeKey);
|
serializer = store.serializerFor(type.typeKey);
|
||||||
serializer.serializeIntoHash(data, type, record, { includeId: true });
|
serializer.serializeIntoHash(data, type, record, { includeId: true });
|
||||||
|
|
||||||
this.ajax(this.buildURL(type.typeKey, null, record), "POST", { data: data })
|
id = Ember.get(record, 'id')
|
||||||
|
|
||||||
|
this.ajax(this.urlPrefix() + '/ssh_key/' + id, "PATCH", { data: data })
|
||||||
|
|
||||||
`export default Adapter`
|
`export default Adapter`
|
||||||
|
|
|
@ -18,7 +18,12 @@ Controller = Ember.ObjectController.extend Validations,
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
add: ->
|
add: ->
|
||||||
model = Travis.SshKey.create(id: @get('repo.id'))
|
id = @get('repo.id')
|
||||||
|
model = @store.recordForId('sshKey', id)
|
||||||
|
if model.get('currentState.stateName') == 'root.empty'
|
||||||
|
@store.dematerializeRecord(model)
|
||||||
|
|
||||||
|
model = @store.createRecord('sshKey', id: id)
|
||||||
@set('model', model)
|
@set('model', model)
|
||||||
@set('isEditing', true)
|
@set('isEditing', true)
|
||||||
|
|
||||||
|
@ -30,10 +35,10 @@ Controller = Ember.ObjectController.extend Validations,
|
||||||
@get('model').save().then =>
|
@get('model').save().then =>
|
||||||
@set('isEditing', false)
|
@set('isEditing', false)
|
||||||
@set('isSaving', false)
|
@set('isSaving', false)
|
||||||
, (xhr) =>
|
, (error) =>
|
||||||
@set('isSaving', false)
|
@set('isSaving', false)
|
||||||
if xhr.status == 422
|
if error.errors
|
||||||
@addErrorsFromResponse(JSON.parse(xhr.response)['errors'])
|
@addErrorsFromResponse(error.errors)
|
||||||
else
|
else
|
||||||
@set('isSaving', false)
|
@set('isSaving', false)
|
||||||
|
|
||||||
|
@ -43,18 +48,19 @@ Controller = Ember.ObjectController.extend Validations,
|
||||||
|
|
||||||
deletingDone = => @set('isDeleting', false)
|
deletingDone = => @set('isDeleting', false)
|
||||||
|
|
||||||
# because of the bug in ember model reference is not cleared after
|
@get('model').deleteRecord()
|
||||||
# deleting the record, so I'm doing it manually here
|
@get('model').save().then(deletingDone, deletingDone).then =>
|
||||||
delete @get('model').constructor._referenceCache[parseInt(@get('model.id'))]
|
|
||||||
|
|
||||||
@get('model').deleteRecord().then(deletingDone, deletingDone).then =>
|
|
||||||
@set('model', null)
|
@set('model', null)
|
||||||
|
|
||||||
cancel: ->
|
cancel: ->
|
||||||
if model = @get('model')
|
model = @get('model')
|
||||||
if model.get('isNew')
|
console.log model.get('currentState.stateName')
|
||||||
@set('model', null)
|
if model.get('currentState.stateName') == 'root.empty' ||
|
||||||
@set('isEditing', false)
|
model.get('currentState.stateName') == 'root.loaded.created.uncommitted'
|
||||||
|
@store.dematerializeRecord(model)
|
||||||
|
|
||||||
|
@set('model', null)
|
||||||
|
@set('isEditing', false)
|
||||||
|
|
||||||
edit: ->
|
edit: ->
|
||||||
@set('isEditing', true)
|
@set('isEditing', true)
|
||||||
|
|
|
@ -7,11 +7,12 @@ ErrorsView = Ember.View.extend
|
||||||
classNameBindings: ['codes', 'show']
|
classNameBindings: ['codes', 'show']
|
||||||
codes: (->
|
codes: (->
|
||||||
@get('errors').mapBy('code')
|
@get('errors').mapBy('code')
|
||||||
).property('@errors')
|
).property('@errors', 'errors.length')
|
||||||
show: Ember.computed.notEmpty('errors.[]')
|
show: Ember.computed.notEmpty('errors.[]')
|
||||||
|
|
||||||
fn = (name, options) ->
|
fn = (name, options) ->
|
||||||
errors = @get('errors').for(name)
|
errors = @get('errors').for(name)
|
||||||
|
window[name + 'Errors'] = errors
|
||||||
view = ErrorsView.create(
|
view = ErrorsView.create(
|
||||||
controller: this
|
controller: this
|
||||||
errors: errors
|
errors: errors
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{{#each erorr in view.errors}}{{error.message}}{{/each}}
|
{{#each error in view.errors}}{{error.message}}{{/each}}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user