Env vars now work with Ember Data

This commit is contained in:
Piotr Sarnacki 2015-01-28 12:52:48 +01:00
parent 5c5ed6e408
commit 6b177d2238
6 changed files with 10 additions and 32 deletions

View File

@ -8,7 +8,7 @@ Travis.EnvVarAdapter = Travis.ApplicationAdapter.extend
if record && (repoId = get(record, 'repo.id')) if record && (repoId = get(record, 'repo.id'))
delimiter = if url.indexOf('?') != -1 then '&' else '?' delimiter = if url.indexOf('?') != -1 then '&' else '?'
url = "#{url}#{delimiter}repository_id=#{repo_id}" url = "#{url}#{delimiter}repository_id=#{repoId}"
url url

View File

@ -25,8 +25,7 @@ Travis.EnvVarController = Ember.ObjectController.extend Travis.Validations,
return if @get('isDeleting') return if @get('isDeleting')
@set('isDeleting', true) @set('isDeleting', true)
deletingDone = => @set('isDeleting', false) @get('model').destroyRecord()
@get('model').deleteRecord().then deletingDone, deletingDone
edit: -> edit: ->
@set('isEditing', true) @set('isEditing', true)
@ -37,7 +36,6 @@ Travis.EnvVarController = Ember.ObjectController.extend Travis.Validations,
save: -> save: ->
return if @get('isSaving') return if @get('isSaving')
@set('isSaving', true)
if @isValid() if @isValid()
env_var = @get('model') env_var = @get('model')
@ -45,8 +43,3 @@ Travis.EnvVarController = Ember.ObjectController.extend Travis.Validations,
# TODO: handle errors # TODO: handle errors
env_var.save().then => env_var.save().then =>
@set('isEditing', false) @set('isEditing', false)
@set('isSaving', false)
, =>
@set('isSaving', false)
else
@set('isSaving', false)

View File

@ -7,6 +7,8 @@ Travis.EnvVarsNewController = Ember.Controller.extend Validations,
needs: ['repo'] needs: ['repo']
repo: Ember.computed.alias('controllers.repo.repo') repo: Ember.computed.alias('controllers.repo.repo')
isSaving: false
validates: validates:
name: ['presence'] name: ['presence']
@ -26,7 +28,7 @@ Travis.EnvVarsNewController = Ember.Controller.extend Validations,
@set('isSaving', true) @set('isSaving', true)
if @isValid() if @isValid()
env_var = EnvVar.create( env_var = @store.createRecord('env_var',
name: @get('name') name: @get('name')
value: @get('value') value: @get('value')
public: @get('public') public: @get('public')
@ -40,5 +42,3 @@ Travis.EnvVarsNewController = Ember.Controller.extend Validations,
self.transitionToRoute('env_vars') self.transitionToRoute('env_vars')
, => , =>
@set('isSaving', false) @set('isSaving', false)
else
@set('isSaving', false)

View File

@ -1 +1,2 @@
Travis.EnvVarsController = Ember.ArrayController.extend() Travis.EnvVarsController = Ember.ArrayController.extend
vars: Ember.computed.filterBy('model', 'isNew', false)

View File

@ -47,25 +47,9 @@ Travis.Repo = Travis.Model.extend
envVars: (-> envVars: (->
id = @get('id') id = @get('id')
envVars = @store.filter('env_var', { repository_id: id }, (envVar) -> @store.filter('env_var', { repository_id: id }, (v) ->
# envVar.get(' v.get('repo.id') == id
) )
EnvVar.find repository_id: id
# TODO: move to controller
array = ExpandableRecordArray.create
type: EnvVar
content: Ember.A([])
array.load(envVars)
globalEnvVars = Ember.RecordArray.create({ modelClass: EnvVar, content: Ember.A([]) })
EnvVar.registerRecordArray(globalEnvVars)
array.observe(globalEnvVars, (envVar) -> envVar.get('isLoaded') && envVar.get('repo.id') == id )
array
).property() ).property()
builds: (-> builds: (->

View File

@ -1,7 +1,7 @@
{{outlet}} {{outlet}}
<ul class="env-vars"> <ul class="env-vars">
{{#each controller itemController="envVar"}} {{#each vars itemController="envVar"}}
<li class="env-var"> <li class="env-var">
{{#if isEditing}} {{#if isEditing}}
{{partial 'env_vars/form'}} {{partial 'env_vars/form'}}