Index: lib/scrum/issue_patch.rb =================================================================== --- lib/scrum/issue_patch.rb (.../tags/v0.13.2~2) (revision 35) +++ lib/scrum/issue_patch.rb (.../branches/v0.13.2~5) (revision 45) @@ -21,6 +21,8 @@ before_save :update_position, :if => lambda {|issue| issue.sprint_id_changed? and issue.is_pbi?} + after_save :update_sprint_of_children, :if => lambda {|issue| issue.is_pbi? or issue.is_task?} + def has_story_points? ((!((custom_field_id = Scrum::Setting.story_points_custom_field_id).nil?)) and visible_custom_field_values.collect{|value| value.custom_field.id.to_s}.include?(custom_field_id)) @@ -320,6 +322,18 @@ end end + def update_sprint_of_children + self.children.each do |child| + unless child.closed? + if child.sprint != self.sprint + child.init_journal(User.current) + child.sprint = self.sprint + child.save! + end + end + end + end + def self.doer_or_reviewer_post_it_css_class(type) classes = ["post-it"] case type Index: app/controllers/scrum_controller.rb =================================================================== --- app/controllers/scrum_controller.rb (.../tags/v0.13.2~2) (revision 35) +++ app/controllers/scrum_controller.rb (.../branches/v0.13.2~5) (revision 45) @@ -382,11 +382,6 @@ issue.init_journal(User.current) issue.sprint = sprint issue.save! - issue.children.each do |child| - unless child.closed? - move_issue_to_sprint(child, sprint) - end - end end end