diff --git a/src/fi/hut/soberit/agilefant/business/impl/StoryBusinessImpl.java b/src/fi/hut/soberit/agilefant/business/impl/StoryBusinessImpl.java index a48a1d701..01f9064db 100644 --- a/src/fi/hut/soberit/agilefant/business/impl/StoryBusinessImpl.java +++ b/src/fi/hut/soberit/agilefant/business/impl/StoryBusinessImpl.java @@ -183,9 +183,9 @@ public Story updateStoryRanks(Story story) { } private void createStoryRanks(Story story, Backlog backlog) { - if(!(backlog instanceof Product)) { + if(!(backlog instanceof Product)) { this.storyRankBusiness.rankToBottom(story, backlog); - if (backlog instanceof Iteration) { + if (backlog instanceof Iteration) { this.storyRankBusiness.rankToBottom(story, backlog.getParent()); } } @@ -261,8 +261,14 @@ public Story create(Story dataItem, Integer backlogId, Set responsibleIds, List labelNames) throws IllegalArgumentException, ObjectNotFoundException { - Story persisted = this.persistNewStory(dataItem, backlogId, responsibleIds); - storyHierarchyBusiness.moveToBottom(persisted); + Story persisted = this.persistNewStory(dataItem, backlogId, responsibleIds); + + //old - prevents tree view from exploding until it's fixed + storyHierarchyBusiness.moveToBottom(persisted); + + //new + storyRankBusiness.rankToHead(persisted, backlogBusiness.retrieve(backlogId)); + this.labelBusiness.createStoryLabels(labelNames, persisted.getId()); return persisted; } diff --git a/web/static/js/dynamics/model/StoryModel.js b/web/static/js/dynamics/model/StoryModel.js index 48d9c52c3..752bcb8f9 100644 --- a/web/static/js/dynamics/model/StoryModel.js +++ b/web/static/js/dynamics/model/StoryModel.js @@ -186,6 +186,7 @@ StoryModel.prototype._saveData = function(id, changedData) { if(!id) { possibleBacklog.addStory(object); object.callListeners(new DynamicsEvents.AddEvent(object)); + possibleBacklog.callListeners(new DynamicsEvents.RankChanged(possibleBacklog,"story")); } }, error: function(xhr, status, error) {