diff options
author | Marin Jankovski <marin@gitlab.com> | 2014-06-26 13:32:35 +0200 |
---|---|---|
committer | Marin Jankovski <marin@gitlab.com> | 2014-06-30 09:44:30 +0200 |
commit | f0af302c8323cf18943d6de5854bbbaa32d891a9 (patch) | |
tree | 57be261e161d3ba238bcba768b5ff04fc7065f01 /app/controllers/groups | |
parent | 4ca8a175a2695dd2fc28084253a4471bad30bf00 (diff) | |
download | gitlab-ce-f0af302c8323cf18943d6de5854bbbaa32d891a9.tar.gz |
Close and reopen group milestones.
Diffstat (limited to 'app/controllers/groups')
-rw-r--r-- | app/controllers/groups/milestones_controller.rb | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/app/controllers/groups/milestones_controller.rb b/app/controllers/groups/milestones_controller.rb index 5e810942d1c..c7eab368e24 100644 --- a/app/controllers/groups/milestones_controller.rb +++ b/app/controllers/groups/milestones_controller.rb @@ -2,9 +2,8 @@ class Groups::MilestonesController < ApplicationController layout 'group' def index - @group = Group.find_by(path: params[:group_id]) - project_ids = @group.projects - project_milestones = Milestone.where(project_id: project_ids) + @group = group + project_milestones = Milestone.where(project_id: @group.projects) @group_milestones = Milestones::GroupService.new(project_milestones).execute @group_milestones = case params[:status] when 'all'; @group_milestones @@ -13,8 +12,32 @@ class Groups::MilestonesController < ApplicationController end end + def update + project_milestones = Milestone.where(project_id: group.projects) + @group_milestones = Milestones::GroupService.new(project_milestones).execute + title = params[:id].gsub("-", ".") + + @group_milestones.each do |group_milestone| + next unless group_milestone.title == title + group_milestone.milestones.each do |milestone| + Milestones::UpdateService.new(milestone.project, current_user, params[:milestone]).execute(milestone) + end + end + + respond_to do |format| + format.js + format.html do + redirect_to group_milestones_path(group) + end + end + end + private + def group + @group ||= Group.find_by(path: params[:group_id]) + end + def status(state) @group_milestones.map{ |milestone| next if milestone.state != state; milestone }.compact end |