From 1e6672eb9f6db9eab14a8f2d9a35e4ad82bd7e67 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 6 Mar 2013 15:18:57 +0100 Subject: [PATCH] Fix toggle button on hooks list in profile --- assets/scripts/app/controllers/account_index.coffee | 3 +++ assets/scripts/app/controllers/profile.coffee | 3 +++ assets/scripts/app/store/rest_adapter.coffee | 12 ++++++++++++ assets/scripts/app/templates/profile/tabs/hooks.hbs | 2 +- 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/assets/scripts/app/controllers/account_index.coffee b/assets/scripts/app/controllers/account_index.coffee index 825d8586..b5dda57a 100644 --- a/assets/scripts/app/controllers/account_index.coffee +++ b/assets/scripts/app/controllers/account_index.coffee @@ -5,3 +5,6 @@ Travis.AccountIndexController = Em.Controller.extend sync: -> @get('user').sync() + + toggle: (hook) -> + hook.toggle() diff --git a/assets/scripts/app/controllers/profile.coffee b/assets/scripts/app/controllers/profile.coffee index d121107b..fbac998a 100644 --- a/assets/scripts/app/controllers/profile.coffee +++ b/assets/scripts/app/controllers/profile.coffee @@ -23,6 +23,9 @@ Travis.ProfileController = Travis.Controller.extend sync: -> @get('user').sync() + toggle: (hook) -> + hook.toggle() + activate: (action, params) -> @setParams(params || @get('params')) this["view#{$.camelize(action)}"]() diff --git a/assets/scripts/app/store/rest_adapter.coffee b/assets/scripts/app/store/rest_adapter.coffee index d8a402f4..6b2ac960 100644 --- a/assets/scripts/app/store/rest_adapter.coffee +++ b/assets/scripts/app/store/rest_adapter.coffee @@ -102,6 +102,18 @@ Travis.RestAdapter = DS.RESTAdapter.extend merge: (store, record, serialized) -> @get('serializer').merge(record, serialized) + didSaveRecord: (store, type, record, payload) -> + # API sometimes return { result: true } response + # which does not play nice with ember-data. For now + # let's just change payload to have serialized record + # included, but ideally it should be fixed in the API + # to be consistent across all the endpoints. + if payload?.result == true + payload = {} + payload[type.singularName()] = record.serialize() + + @_super(store, type, record, payload) + Travis.RestAdapter.map 'Travis.Commit', {} Travis.RestAdapter.map 'Travis.Build', { diff --git a/assets/scripts/app/templates/profile/tabs/hooks.hbs b/assets/scripts/app/templates/profile/tabs/hooks.hbs index 05f2e84b..4f41fde5 100644 --- a/assets/scripts/app/templates/profile/tabs/hooks.hbs +++ b/assets/scripts/app/templates/profile/tabs/hooks.hbs @@ -24,7 +24,7 @@
- + {{#if hook.active}} ON {{else}}