diff options
| author | Jacob Schatz <jschatz@gitlab.com> | 2017-05-03 15:15:20 +0000 |
|---|---|---|
| committer | Jacob Schatz <jschatz@gitlab.com> | 2017-05-03 15:15:20 +0000 |
| commit | c45e11f1798282e73627cb035dc7ad31c6416ec2 (patch) | |
| tree | 5507bfcb455783c85b2ab59e252a6611445162f2 /app/controllers/concerns | |
| parent | 349e423137e2c9bbdb5d77dc9ee37d70242dd1f8 (diff) | |
| parent | 471888d60e0d91f4ab75e5d773bd69dee85e6cea (diff) | |
| download | gitlab-ce-c45e11f1798282e73627cb035dc7ad31c6416ec2.tar.gz | |
Merge branch 'async-milestone-tabs' into 'master'
Load milestone tabs asynchronously
See merge request !10919
Diffstat (limited to 'app/controllers/concerns')
| -rw-r--r-- | app/controllers/concerns/milestone_actions.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/app/controllers/concerns/milestone_actions.rb b/app/controllers/concerns/milestone_actions.rb new file mode 100644 index 00000000000..3e2a0fe4f8b --- /dev/null +++ b/app/controllers/concerns/milestone_actions.rb @@ -0,0 +1,53 @@ +module MilestoneActions + extend ActiveSupport::Concern + + def merge_requests + respond_to do |format| + format.html { redirect_to milestone_redirect_path } + format.json do + render json: tabs_json("shared/milestones/_merge_requests_tab", { + merge_requests: @milestone.merge_requests, + show_project_name: true + }) + end + end + end + + def participants + respond_to do |format| + format.html { redirect_to milestone_redirect_path } + format.json do + render json: tabs_json("shared/milestones/_participants_tab", { + users: @milestone.participants + }) + end + end + end + + def labels + respond_to do |format| + format.html { redirect_to milestone_redirect_path } + format.json do + render json: tabs_json("shared/milestones/_labels_tab", { + labels: @milestone.labels + }) + end + end + end + + private + + def tabs_json(partial, data = {}) + { + html: view_to_html_string(partial, data) + } + end + + def milestone_redirect_path + if @project + namespace_project_milestone_path(@project.namespace, @project, @milestone) + else + group_milestone_path(@group, @milestone.safe_title, title: @milestone.title) + end + end +end |
