Skip to content

Commit

Permalink
Fix parentKey transitions to root
Browse files Browse the repository at this point in the history
Previously, deleting a key in `/dc1/kv/` would transition to
`/dc1/kv//` on success. A refresh at this stage would lead to `404`,
this commit will fix this and generate the correct route key in a
helper function.
  • Loading branch information
tiwilliam committed May 5, 2014
1 parent 7fd4b17 commit 25d092e
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions ui/javascripts/app/controllers.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,13 @@ App.DcController = Ember.Controller.extend({
})

KvBaseController = Ember.ObjectController.extend({
getParentKeyRoute: function() {
if (this.get('isRoot')) {
return this.get('rootKey');
}
return this.get("parentKey");
},

transitionToNearestParent: function(parent) {
var controller = this;
var rootKey = controller.get('rootKey');
Expand Down Expand Up @@ -136,12 +143,11 @@ App.KvShowController.reopen({
this.set('isLoading', true);

var controller = this;
var key = controller.get("model");
var grandParent = key.get('grandParentKey');
var grandParent = controller.get('grandParentKey');

// Delete the folder
Ember.$.ajax({
url: ("/v1/kv/" + key.get('parentKey') + '?recurse'),
url: ("/v1/kv/" + controller.get('parentKey') + '?recurse'),
type: 'DELETE'
}).then(function(response) {
controller.transitionToNearestParent(grandParent);
Expand Down Expand Up @@ -184,7 +190,7 @@ App.KvEditController = KvBaseController.extend({

cancelEdit: function() {
this.set('isLoading', true);
this.transitionToRoute('kv.show', this.get("model").get('parentKey'));
this.transitionToRoute('kv.show', this.getParentKeyRoute());
this.set('isLoading', false);
},

Expand All @@ -194,8 +200,7 @@ App.KvEditController = KvBaseController.extend({
var controller = this;
var dc = controller.get('dc').get('datacenter');
var key = controller.get("model");
var isRoot = controller.get('isRoot');
var parent = isRoot ? controller.get('rootKey') : key.get('parentKey');
var parent = controller.getParentKeyRoute();

// Delete the key
Ember.$.ajax({
Expand Down

0 comments on commit 25d092e

Please sign in to comment.