summaryrefslogtreecommitdiff
path: root/app/controllers/concerns
diff options
context:
space:
mode:
authorJacob Schatz <jschatz@gitlab.com>2017-05-03 15:15:20 +0000
committerJacob Schatz <jschatz@gitlab.com>2017-05-03 15:15:20 +0000
commitc45e11f1798282e73627cb035dc7ad31c6416ec2 (patch)
tree5507bfcb455783c85b2ab59e252a6611445162f2 /app/controllers/concerns
parent349e423137e2c9bbdb5d77dc9ee37d70242dd1f8 (diff)
parent471888d60e0d91f4ab75e5d773bd69dee85e6cea (diff)
downloadgitlab-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.rb53
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