summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-01-07 11:47:39 -0500
committerJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-01-07 11:47:39 -0500
commitab9612df8dd97d83a94a8290f1530760e5cc7d2e (patch)
tree60af2969f2ea21a6f1cfddddd2c63192b3852f97
parentf71642017ebfd409e20735b621dd3a9fe09add12 (diff)
downloadgitlab-ce-ab9612df8dd97d83a94a8290f1530760e5cc7d2e.tar.gz
initial json requests instead of HTML
-rw-r--r--app/assets/javascripts/merge_request.js.coffee6
-rw-r--r--app/assets/javascripts/merge_request_widget.js.coffee5
-rw-r--r--app/controllers/projects/merge_requests_controller.rb24
-rw-r--r--app/helpers/merge_requests_helper.rb9
-rw-r--r--app/views/projects/merge_requests/widget/_closed.html.haml2
-rw-r--r--app/views/projects/merge_requests/widget/_locked.html.haml2
-rw-r--r--app/views/projects/merge_requests/widget/_merged.html.haml2
-rw-r--r--app/views/projects/merge_requests/widget/_open.html.haml39
-rw-r--r--app/views/projects/merge_requests/widget/_show.html.haml14
-rw-r--r--app/views/projects/merge_requests/widget/open/_archived.html.haml2
10 files changed, 66 insertions, 39 deletions
diff --git a/app/assets/javascripts/merge_request.js.coffee b/app/assets/javascripts/merge_request.js.coffee
index 8c321319b30..c6c7f37707f 100644
--- a/app/assets/javascripts/merge_request.js.coffee
+++ b/app/assets/javascripts/merge_request.js.coffee
@@ -63,12 +63,18 @@ class @MergeRequest
$('a.btn-reopen').removeClass('hidden')
$('div.status-box-closed').removeClass('hidden')
$('div.status-box-open').addClass('hidden')
+
+ $('div.mr-state-widget-closed').removeClass('hidden')
+ $('div.mr-state-widget-opened').addClass('hidden')
else
$('a.btn-reopen').addClass('hidden')
$('a.issuable-edit').removeClass('hidden')
$('a.btn-close').removeClass('hidden')
$('div.status-box-closed').addClass('hidden')
$('div.status-box-open').removeClass('hidden')
+
+ $('div.mr-state-widget-closed').addClass('hidden')
+ $('div.mr-state-widget-opened').removeClass('hidden')
else
new Flash(mergeRequestFailMessage, 'alert')
$this.prop('disabled', false)
diff --git a/app/assets/javascripts/merge_request_widget.js.coffee b/app/assets/javascripts/merge_request_widget.js.coffee
index 738ffc8343b..f0a687f79b1 100644
--- a/app/assets/javascripts/merge_request_widget.js.coffee
+++ b/app/assets/javascripts/merge_request_widget.js.coffee
@@ -28,8 +28,9 @@ class @MergeRequestWidget
getMergeStatus: ->
$.get @opts.url_to_automerge_check, (data) ->
- $('.mr-state-widget').replaceWith(data)
-
+ console.log("data",data);
+ # $('div.mr-state-widget.mr-state-widget-opened').replaceWith(data)
+
getCiStatus: ->
if @opts.ci_enable
$.get @opts.url_to_ci_check, (data) =>
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index ab5c953189c..e3c4aa4873a 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -48,9 +48,15 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@note_counts = Note.where(commit_id: @merge_request.commits.map(&:id)).
group(:commit_id).count
+ json_merge_request = @merge_requests.as_json
+
respond_to do |format|
format.html
- format.json { render json: @merge_request }
+ format.json do
+ render json: {
+ hi: "yes"
+ }
+ end
format.diff { render text: @merge_request.to_diff(current_user) }
format.patch { render text: @merge_request.to_patch(current_user) }
end
@@ -143,7 +149,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
format.json do
render json: {
saved: @merge_request.valid?,
- assignee_avatar_url: @merge_request.assignee.try(:avatar_url)
+ assignee_avatar_url: @merge_request.assignee.try(:avatar_url),
+ closed_event: @merge_request.closed_event
}
end
end
@@ -154,8 +161,17 @@ class Projects::MergeRequestsController < Projects::ApplicationController
def merge_check
@merge_request.check_if_can_be_merged if @merge_request.unchecked?
-
- render partial: "projects/merge_requests/widget/show.html.haml", layout: false
+ puts @merge_request.merge_status
+ respond_to do |format|
+ format.json do
+ render json: {
+ can_be_merged: @merge_request.merge_status == :can_be_merged
+ }
+ end
+ format.html do
+ render partial: "projects/merge_requests/widget/show.html.haml", layout: false
+ end
+ end
end
def cancel_merge_when_build_succeeds
diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb
index fafe2acd538..6306450ca26 100644
--- a/app/helpers/merge_requests_helper.rb
+++ b/app/helpers/merge_requests_helper.rb
@@ -23,6 +23,15 @@ module MergeRequestsHelper
return 'hidden' if mr.closed? == closed
end
+ def merge_request_widget_visibility(mr, *states)
+ states.each do |state|
+ if mr.state == state
+ return
+ end
+ end
+ return 'hidden'
+ end
+
def mr_css_classes(mr)
classes = "merge-request"
classes << " closed" if mr.closed?
diff --git a/app/views/projects/merge_requests/widget/_closed.html.haml b/app/views/projects/merge_requests/widget/_closed.html.haml
index f3cc0e7e8a1..46ee22ec873 100644
--- a/app/views/projects/merge_requests/widget/_closed.html.haml
+++ b/app/views/projects/merge_requests/widget/_closed.html.haml
@@ -1,4 +1,4 @@
-.mr-state-widget
+.mr-state-widget.mr-state-widget-closed{class: merge_request_widget_visibility(@merge_request, 'closed')}
= render 'projects/merge_requests/widget/heading'
.mr-widget-body
%h4
diff --git a/app/views/projects/merge_requests/widget/_locked.html.haml b/app/views/projects/merge_requests/widget/_locked.html.haml
index 78d0783cba0..55ecd69a6ce 100644
--- a/app/views/projects/merge_requests/widget/_locked.html.haml
+++ b/app/views/projects/merge_requests/widget/_locked.html.haml
@@ -1,4 +1,4 @@
-.mr-state-widget
+.mr-state-widget.mr-state-widget-locked{class: merge_request_widget_visibility(@merge_request, 'locked')}
= render 'projects/merge_requests/widget/heading'
.mr-widget-body
%h4
diff --git a/app/views/projects/merge_requests/widget/_merged.html.haml b/app/views/projects/merge_requests/widget/_merged.html.haml
index d1d602eecdc..2bb50967023 100644
--- a/app/views/projects/merge_requests/widget/_merged.html.haml
+++ b/app/views/projects/merge_requests/widget/_merged.html.haml
@@ -1,4 +1,4 @@
-.mr-state-widget
+.mr-state-widget.mr-state-widget-merged{class: merge_request_widget_visibility(@merge_request, 'merged')}
= render 'projects/merge_requests/widget/heading'
.mr-widget-body
%h4
diff --git a/app/views/projects/merge_requests/widget/_open.html.haml b/app/views/projects/merge_requests/widget/_open.html.haml
index 55dbae598d3..2257a166460 100644
--- a/app/views/projects/merge_requests/widget/_open.html.haml
+++ b/app/views/projects/merge_requests/widget/_open.html.haml
@@ -1,24 +1,23 @@
-.mr-state-widget
+.mr-state-widget.mr-state-widget-opened{class: merge_request_widget_visibility(@merge_request, "opened","reopened")}
= render 'projects/merge_requests/widget/heading'
- .mr-widget-body
- - if @project.archived?
- = render 'projects/merge_requests/widget/open/archived'
- - elsif @merge_request.commits.blank?
- = render 'projects/merge_requests/widget/open/nothing'
- - elsif @merge_request.branch_missing?
- = render 'projects/merge_requests/widget/open/missing_branch'
- - elsif @merge_request.unchecked?
- = render 'projects/merge_requests/widget/open/check'
- - elsif @merge_request.cannot_be_merged?
- = render 'projects/merge_requests/widget/open/conflicts'
- - elsif @merge_request.work_in_progress?
- = render 'projects/merge_requests/widget/open/wip'
- - elsif @merge_request.merge_when_build_succeeds?
- = render 'projects/merge_requests/widget/open/merge_when_build_succeeds'
- - elsif !@merge_request.can_be_merged_by?(current_user)
- = render 'projects/merge_requests/widget/open/not_allowed'
- - elsif @merge_request.can_be_merged?
- = render 'projects/merge_requests/widget/open/accept'
+ .mr-widget-body.merge-request-archived{class: ("hidden" unless @project.archived?)}
+ = render 'projects/merge_requests/widget/open/archived'
+ .mr-widget-body.merge-request-blank{class: ("hidden" unless @merge_request.commits.blank?)}
+ = render 'projects/merge_requests/widget/open/nothing'
+ .mr-widget-body.merge-request-branch-missing{class: ("hidden" unless @merge_request.branch_missing?)}
+ = render 'projects/merge_requests/widget/open/missing_branch'
+ .mr-widget-body.merge-request-unchecked{class: ("hidden" unless @merge_request.unchecked?)}
+ = render 'projects/merge_requests/widget/open/check'
+ .mr-widget-body.merge-request-cannot-be-merged{class: ("hidden" unless @merge_request.cannot_be_merged?)}
+ = render 'projects/merge_requests/widget/open/conflicts'
+ .mr-widget-body.merge-request-work-in-progress{class: ("hidden" unless @merge_request.work_in_progress?)}
+ = render 'projects/merge_requests/widget/open/wip'
+ .mr-widget-body.merge-request-merge-when-build-succeeds{class: ("hidden" unless @merge_request.merge_when_build_succeeds?)}
+ = render 'projects/merge_requests/widget/open/merge_when_build_succeeds'
+ .mr-widget-body.not-allowed{class: ("hidden" if @merge_request.can_be_merged_by?(current_user))}
+ = render 'projects/merge_requests/widget/open/not_allowed'
+ .mr-widget-body.merge-request-archived.can-be-merged{class: ("hidden" unless @merge_request.can_be_merged?)}
+ = render 'projects/merge_requests/widget/open/accept'
- if @closes_issues.present?
.mr-widget-footer
diff --git a/app/views/projects/merge_requests/widget/_show.html.haml b/app/views/projects/merge_requests/widget/_show.html.haml
index a489d4f9b24..d8f81dab067 100644
--- a/app/views/projects/merge_requests/widget/_show.html.haml
+++ b/app/views/projects/merge_requests/widget/_show.html.haml
@@ -1,17 +1,13 @@
-- if @merge_request.open?
- = render 'projects/merge_requests/widget/open'
-- elsif @merge_request.merged?
- = render 'projects/merge_requests/widget/merged'
-- elsif @merge_request.closed?
- = render 'projects/merge_requests/widget/closed'
-- elsif @merge_request.locked?
- = render 'projects/merge_requests/widget/locked'
+= render 'projects/merge_requests/widget/open'
+= render 'projects/merge_requests/widget/merged'
+= render 'projects/merge_requests/widget/closed'
+= render 'projects/merge_requests/widget/locked'
:javascript
var merge_request_widget;
merge_request_widget = new MergeRequestWidget({
- url_to_automerge_check: "#{merge_check_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}",
+ url_to_automerge_check: "#{merge_check_namespace_project_merge_request_path(@project.namespace, @project, @merge_request, format: :json)}",
check_enable: #{@merge_request.unchecked? ? "true" : "false"},
url_to_ci_check: "#{ci_status_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}",
ci_enable: #{@project.ci_service ? "true" : "false"},
diff --git a/app/views/projects/merge_requests/widget/open/_archived.html.haml b/app/views/projects/merge_requests/widget/open/_archived.html.haml
index ab30fa6b243..0d61e56d8fb 100644
--- a/app/views/projects/merge_requests/widget/open/_archived.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_archived.html.haml
@@ -1,4 +1,4 @@
-%h4
+%h4
Project is archived
%p
This merge request cannot be merged because archived projects cannot be written to.