Class: IterationController

Inherits:
ApplicationController show all
Includes:
TransitionManager
Defined in:
app/controllers/iteration_controller.rb

Instance Method Summary collapse

Methods included from TransitionManager

#apply_transition, #successor_statuses, #transition_allowed?

Methods included from ApplicationHelper

#footer_menu, #home_page, #page_title

Instance Method Details

#bulk_edit_actualObject



28
29
30
31
32
33
34
# File 'app/controllers/iteration_controller.rb', line 28

def bulk_edit_actual
  capacities = Capacity.find(:all, :conditions => 'capacities.iteration = ' + ProjectInfo.find(1).current_iteration.to_s)
  capacities.each {
|capacity| capacity.actual_capacity= capacity.planned_capacity unless capacity.actual_capacity != nil
  }
  session[:capacities] = capacities
end

#bulk_edit_plannedObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'app/controllers/iteration_controller.rb', line 50

def bulk_edit_planned
  project = ProjectInfo.find(1)
  previous_iteration = project.current_iteration - 1
  capacities = Array.new
  previous_capacities = Capacity.find(:all, :conditions => 'capacities.iteration = ' + previous_iteration.to_s)
  for capacity in previous_capacities
new_capacity = Capacity.new
new_capacity.developer_name= capacity.developer_name
new_capacity.iteration= project.current_iteration
new_capacity.save
new_capacity.planned_capacity= capacity.actual_capacity
capacities.push new_capacity
  end
  session[:capacities] = capacities
end

#close_iterationObject

think of something more elegant. new iteration controller ?



24
25
26
# File 'app/controllers/iteration_controller.rb', line 24

def close_iteration
  redirect_to :action => 'bulk_edit_actual'
end

#close_releaseObject



75
76
77
78
79
80
# File 'app/controllers/iteration_controller.rb', line 75

def close_release
  for card in Card.find(:all, :conditions => "status_name = '#{Status::ACCEPTED.name()}'")
apply_transition(card, Status::DELIVERED)
  end
  next_action
end

#new_iterationObject



13
14
15
16
# File 'app/controllers/iteration_controller.rb', line 13

def new_iteration
  session[:actions_stack] = ["close_iteration", "open_iteration"]
  next_action
end

#new_releaseObject



18
19
20
21
# File 'app/controllers/iteration_controller.rb', line 18

def new_release
  session[:actions_stack] = ["close_release","close_iteration","open_release", "open_iteration"]
  next_action
end

#next_actionObject



7
8
9
10
11
# File 'app/controllers/iteration_controller.rb', line 7

def next_action
  current_action = session[:actions_stack].shift
  redirect_to :action => current_action unless current_action == nil
  redirect_back_or_default(:controller => 'board', :action => 'index') if (current_action == nil)
end

#open_iterationObject



45
46
47
48
# File 'app/controllers/iteration_controller.rb', line 45

def open_iteration
  ProjectInfo.find(1).increment!(:current_iteration)
  redirect_to :action => 'bulk_edit_planned'
end

#open_releaseObject

— new_release This method increqses both the release and iteration number by onz. It is assumed that we complete a release at the end of an iteration rather than in the middle.



87
88
89
90
# File 'app/controllers/iteration_controller.rb', line 87

def open_release
  ProjectInfo.find(1).increment!(:current_release)
  next_action
end

#save_actual_capacitiesObject



36
37
38
39
40
41
42
43
# File 'app/controllers/iteration_controller.rb', line 36

def save_actual_capacities
  capacities = Capacity.find(:all, :conditions => 'capacities.iteration = ' + ProjectInfo.find(1).current_iteration.to_s)
  capacities.each { |capacity|
capacity.actual_capacity= params[:actual_capacities][capacity.id.to_s]
capacity.update
  }
  next_action
end

#save_planned_capacitiesObject



66
67
68
69
70
71
72
73
# File 'app/controllers/iteration_controller.rb', line 66

def save_planned_capacities
  capacities = Capacity.find(:all, :conditions => 'capacities.iteration = ' + ProjectInfo.find(1).current_iteration.to_s)
  capacities.each { |capacity|
capacity.planned_capacity= params[:planned_capacities][capacity.id.to_s]
capacity.update
  }
  next_action
end