summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Schatz <jacobschatz@Jacobs-MBP.fios-router.home>2016-03-04 18:22:39 -0500
committerPhil Hughes <me@iamphill.com>2016-03-18 10:26:48 +0000
commitc1c786fe65be89da63db7d9e5e6523ba549f2f8a (patch)
tree52204f754ab72e79b225ffb7656bac05f827d5a4
parent1a482bfbc21eca3c7526cc367b86174b77e0d617 (diff)
downloadgitlab-ce-c1c786fe65be89da63db7d9e5e6523ba549f2f8a.tar.gz
Using status from ajax call.
Removing icon changes because refresh.
-rw-r--r--app/assets/javascripts/merge_request_widget.js.coffee33
-rw-r--r--app/views/projects/merge_requests/widget/_show.html.haml5
2 files changed, 13 insertions, 25 deletions
diff --git a/app/assets/javascripts/merge_request_widget.js.coffee b/app/assets/javascripts/merge_request_widget.js.coffee
index 27537d72661..168de57288b 100644
--- a/app/assets/javascripts/merge_request_widget.js.coffee
+++ b/app/assets/javascripts/merge_request_widget.js.coffee
@@ -3,12 +3,14 @@ class @MergeRequestWidget
#
# check_enable - Boolean, whether to check automerge status
# url_to_automerge_check - String, URL to use to check automerge status
- # current_status - String, current automerge status
# url_to_ci_check - String, URL to use to check CI status
#
+
constructor: (@opts) ->
+ @first = true
modal = $('#modal_merge_info').modal(show: false)
@getBuildStatus()
+ @readyForCICheck = true
# clear the build poller
mergeInProgress: (deleteSourceBranch = false)->
@@ -31,19 +33,6 @@ class @MergeRequestWidget
$.get @opts.url_to_automerge_check, (data) ->
$('.mr-state-widget').replaceWith(data)
- ciIconForStatus: (status) ->
- icon = undefined
- switch status
- when 'success'
- icon = 'check'
- when 'failed'
- icon = 'close'
- when 'running' or 'pending'
- icon = 'clock-o'
- else
- icon = 'circle'
- 'fa fa-' + icon + ' fa-fw'
-
ciLabelForStatus: (status) ->
if status == 'success'
'passed'
@@ -54,7 +43,13 @@ class @MergeRequestWidget
urlToCiCheck = @opts.url_to_ci_check
_this = @
@fetchBuildStatusInterval = setInterval (->
+ if not _this.readyForCICheck
+ return;
$.getJSON urlToCiCheck, (data) ->
+ _this.readyForCICheck = true
+ if _this.first
+ _this.first = false
+ _this.opts.current_status = data.status
if data.status isnt _this.opts.current_status
notify("Build #{_this.ciLabelForStatus(data.status)}",
_this.opts.ci_message.replace('{{status}}',
@@ -65,16 +60,10 @@ class @MergeRequestWidget
return
), 2000
_this.opts.current_status = data.status
- $('.mr-widget-heading i')
- .removeClass()
- .addClass(_this.ciIconForStatus(data.status));
- $('.mr-widget-heading .ci_widget')
- .removeClass()
- .addClass("ci_widget ci-#{data.status}");
- $('.mr-widget-heading span.ci-status-label')
- .text(_this.ciLabelForStatus(data.status))
return
+ _this.readyForCICheck = false
return
+
), 5000
getCiStatus: ->
diff --git a/app/views/projects/merge_requests/widget/_show.html.haml b/app/views/projects/merge_requests/widget/_show.html.haml
index 9537eda5aa5..b5591416a31 100644
--- a/app/views/projects/merge_requests/widget/_show.html.haml
+++ b/app/views/projects/merge_requests/widget/_show.html.haml
@@ -13,16 +13,15 @@
url_to_automerge_check: "#{merge_check_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}",
check_enable: #{@merge_request.unchecked? ? "true" : "false"},
url_to_ci_check: "#{ci_status_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}",
- gitlab_icon: "#{asset_path 'gitlab_logo.png'}"
+ gitlab_icon: "#{asset_path 'gitlab_logo.png'}",
+ current_status: ""
};
- if @merge_request.ci_commit
:javascript
- opts.current_status = "#{@merge_request.ci_commit.try(:status)}";
opts.ci_message = "Build {{status}} for #{@merge_request.ci_commit.sha}";
- else
:javascript
- opts.current_status = "#{@merge_request.source_project.ci_service.commit_status(@merge_request.last_commit.sha, merge_request.source_branch) if @merge_request.source_project.ci_service}";
opts.ci_message = "Build {{status}} for #{@merge_request.last_commit.sha}";
:javascript