summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-03-11 14:20:44 -0500
committerJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-03-25 08:04:57 -0400
commitff86138d7688d3b4f49fabea28ca75dd7b4db3ef (patch)
treebc55abca8a528c9315519290e41f16d2157a7a7a
parent1c8fff965cca617ba0dbb5bfde1c76fc360c5661 (diff)
downloadgitlab-ce-ff86138d7688d3b4f49fabea28ca75dd7b4db3ef.tar.gz
Sidebar milestone updatable via JSON
-rw-r--r--app/assets/javascripts/milestone_select.js.coffee22
-rw-r--r--app/controllers/projects/issues_controller.rb5
-rw-r--r--app/controllers/projects/milestones_controller.rb1
-rw-r--r--app/views/shared/issuable/_filter.html.haml4
-rw-r--r--app/views/shared/issuable/_sidebar.html.haml2
5 files changed, 18 insertions, 16 deletions
diff --git a/app/assets/javascripts/milestone_select.js.coffee b/app/assets/javascripts/milestone_select.js.coffee
index 18647e25c55..3a791ae5153 100644
--- a/app/assets/javascripts/milestone_select.js.coffee
+++ b/app/assets/javascripts/milestone_select.js.coffee
@@ -1,10 +1,10 @@
class @MilestoneSelect
- constructor: (@opts) ->
- opts = @opts
+ constructor: () ->
$('.js-milestone-select').each (i, dropdown) ->
$dropdown = $(dropdown)
projectId = $dropdown.data('project-id')
milestonesUrl = $dropdown.data('milestones')
+ issueUpdateURL = $dropdown.data('issueUpdate')
selectedMilestone = $dropdown.data('selected')
showNo = $dropdown.data('show-no')
showAny = $dropdown.data('show-any')
@@ -57,12 +57,20 @@ class @MilestoneSelect
milestone.title is selectedMilestone
clicked: (e) ->
- if $(dropdown).hasClass "js-filter-submit" && opts.submitForm
- $(dropdown).parents('form').submit()
+ if $dropdown.hasClass "js-filter-submit"
+ $dropdown.parents('form').submit()
else
- milestoneVal = $(@)
+ selected = $dropdown
.closest('.selectbox')
.find('input[type="hidden"]')
.val()
- Api.issues.update(projectId, issuableId, milestone_id: milestoneVal, (data) => console.log 'data', data)
- )
+
+ $.ajax(
+ type: 'PUT'
+ url: issueUpdateURL
+ data:
+ issue:
+ milestone_id: selected
+ ).done (data) ->
+ console.log 'databack', data
+ ) \ No newline at end of file
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index b3b098c5153..7a15f299cb5 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -108,10 +108,7 @@ class Projects::IssuesController < Projects::ApplicationController
end
end
format.json do
- render json: {
- saved: @issue.valid?,
- assignee_avatar_url: @issue.assignee.try(:avatar_url)
- }
+ render json: @issue
end
end
end
diff --git a/app/controllers/projects/milestones_controller.rb b/app/controllers/projects/milestones_controller.rb
index b2e974eff17..5b0a63a933c 100644
--- a/app/controllers/projects/milestones_controller.rb
+++ b/app/controllers/projects/milestones_controller.rb
@@ -19,7 +19,6 @@ class Projects::MilestonesController < Projects::ApplicationController
end
@milestones = @milestones.includes(:project)
-
respond_to do |format|
format.html do
@milestones = @milestones.page(params[:page])
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index 6eb5e5f867e..f91ff0e3694 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -55,9 +55,7 @@
:javascript
new UsersSelect();
new LabelsSelect();
- new MilestoneSelect({
- submitForm: true
- });
+ new MilestoneSelect();
new IssueStatusSelect();
$('form.filter-form').on('submit', function (event) {
event.preventDefault();
diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml
index 4147eb613aa..0a8300cc513 100644
--- a/app/views/shared/issuable/_sidebar.html.haml
+++ b/app/views/shared/issuable/_sidebar.html.haml
@@ -64,7 +64,7 @@
.light None
.selectbox.hide-collapsed
- = dropdown_tag("Milestone", options: { title: "Assign milestone", toggle_class: 'js-milestone-select', filter: true, dropdown_class: "dropdown-menu-selectable", placeholder: "Search milestones", data: { show_no: true, field_name: "milestone_id", project_id: @project.id, issuable_id: issuable.id, milestones: namespace_project_milestones_path(@project.namespace, @project, :js), use_id: true }})
+ = dropdown_tag("Milestone", options: { title: "Assign milestone", toggle_class: 'js-milestone-select', filter: true, dropdown_class: "dropdown-menu-selectable", placeholder: "Search milestones", data: { show_no: true, field_name: "milestone_id", project_id: @project.id, issuable_id: issuable.id, milestones: namespace_project_milestones_path(@project.namespace, @project, :json), issue_update: namespace_project_issue_path(@project.namespace, @project, issuable.id, :json), use_id: true }})
- if issuable.project.labels.any?
.block.labels