From 5c41529d07d227c6bdb414be23808ef16738da8c Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 25 Aug 2014 15:22:17 +0200 Subject: [PATCH] Reset ssh key controller properly --- assets/scripts/app/controllers/ssh_key.coffee | 8 ++++++++ assets/scripts/app/routes.coffee | 1 + 2 files changed, 9 insertions(+) diff --git a/assets/scripts/app/controllers/ssh_key.coffee b/assets/scripts/app/controllers/ssh_key.coffee index c177ae7c..fa7c307e 100644 --- a/assets/scripts/app/controllers/ssh_key.coffee +++ b/assets/scripts/app/controllers/ssh_key.coffee @@ -12,6 +12,9 @@ Travis.SshKeyController = Ember.ObjectController.extend Travis.Validations, validates: value: ['presence'] + reset: -> + @set('isEditing', false) + actions: add: -> model = Travis.SshKey.create(id: @get('repo.id')) @@ -38,6 +41,11 @@ Travis.SshKeyController = Ember.ObjectController.extend Travis.Validations, @set('isDeleting', true) deletingDone = => @set('isDeleting', false) + + # because of the bug in ember model reference is not cleared after + # deleting the record, so I'm doing it manually here + delete @get('model').constructor._referenceCache(parseInt(@get('model.id'))) + @get('model').deleteRecord().then(deletingDone, deletingDone).then => @set('model', null) diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index fdabd06d..31b8e3cb 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -414,6 +414,7 @@ Travis.SshKeyRoute = Travis.Route.extend @defaultKey = Ember.Object.create(fingerprint: data.fingerprint) setupController: (controller, model) -> + controller.reset() @_super.apply this, arguments if @defaultKey