diff --git a/assets/scripts/app/templates/repos/show/tools.hbs b/assets/scripts/app/templates/repos/show/tools.hbs
index b36bdbdd..4e2b77c2 100644
--- a/assets/scripts/app/templates/repos/show/tools.hbs
+++ b/assets/scripts/app/templates/repos/show/tools.hbs
@@ -4,29 +4,37 @@
- {{#if view.canCancelBuild}}
+ {{#if view.displayCancelBuild}}
- Cancel Build
+ Cancel Build
{{/if}}
- {{#if view.canCancelJob}}
+ {{#if view.displayCancelJob}}
- Cancel Job
+ Cancel Job
{{/if}}
- {{#if view.canRequeueBuild}}
+ {{#if view.displayRequeueBuild}}
- Restart Build
+ Restart Build
{{/if}}
- {{#if view.canRequeueJob}}
+ {{#if view.displayRequeueJob}}
- Restart Job
+ Restart Job
{{/if}}
- {{#if view.canRegenerateKey}}
+ {{#if view.displayRegenerateKey}}
-
+
{{/if}}
{{#if view.showDownloadLog}}
diff --git a/assets/scripts/app/views/repo/show.coffee b/assets/scripts/app/views/repo/show.coffee
index 48ed4ef0..edad55fd 100644
--- a/assets/scripts/app/views/repo/show.coffee
+++ b/assets/scripts/app/views/repo/show.coffee
@@ -95,12 +95,14 @@
@get('build').requeue()
cancelBuild: ->
- @closeMenu()
- @get('build').cancel()
+ if @get('canCancelBuild')
+ @closeMenu()
+ @get('build').cancel()
cancelJob: ->
- @closeMenu()
- @get('job').cancel()
+ if @get('canCancelJob')
+ @closeMenu()
+ @get('job').cancel()
statusImages: (event) ->
@set('active', true)
@@ -114,18 +116,21 @@
event.stopPropagation()
regenerateKeyPopup: (event) ->
- @set('active', true)
- @closeMenu()
- @popup(event)
- event.stopPropagation()
+ if @get('canRegenerateKey')
+ @set('active', true)
+ @closeMenu()
+ @popup(event)
+ event.stopPropagation()
requeueBuild: ->
- @closeMenu()
- @get('build').requeue()
+ if @get('canRequeueJobBuild')
+ @closeMenu()
+ @get('build').requeue()
requeueJob: ->
- @closeMenu()
- @get('job').requeue()
+ if @get('canRequeueJob')
+ @closeMenu()
+ @get('job').requeue()
regenerateKey: ->
@popupCloseAll()
@@ -137,13 +142,21 @@
error: ->
Travis.app.router.flashController.loadFlashes([{ error: 'Travis encountered an error while trying to regenerate the key, please try again.'}])
+ displayRequeueBuild: (->
+ @get('isBuildTab') && @get('build.isFinished')
+ ).property('isBuildTab', 'build.isFinished')
+
canRequeueBuild: (->
- @get('isBuildTab') && @get('build.isFinished') && @get('hasPermission')
- ).property('isBuildTab', 'build.isFinished', 'hasPermissions')
+ @get('displayRequeueBuild') && @get('hasPermission')
+ ).property('displayRequireBuild', 'hasPermissions')
+
+ displayRequeueJob: (->
+ @get('isJobTab') && @get('job.isFinished')
+ ).property('isJobTab', 'job.isFinished')
canRequeueJob: (->
- @get('isJobTab') && @get('job.isFinished') && @get('hasPermission')
- ).property('isJobTab', 'job.isFinished', 'hasPermissions')
+ @get('displayRequeueJob') && @get('hasPermission')
+ ).property('displayRequeueJob', 'hasPermissions')
showDownloadLog: (->
@get('jobIdForLog')
@@ -159,18 +172,30 @@
Travis.Urls.plainTextLog(id)
).property('jobIdForLog')
- canCancelBuild: (->
- # @get('isBuildTab') && @get('build.canCancel') && @get('hasPermission')
+ displayCancelBuild: (->
+ # @get('isBuildTab') && @get('build.canCancel')
false
- ).property('build.state', 'hasPermission', 'tab')
+ ).property('build.state', 'tab')
+
+ canCancelBuild: (->
+ # @get('displayCancelBuild') && @get('hasPermission')
+ false
+ ).property('displayCancelBuild', 'hasPermission')
+
+ displayCancelJob: (->
+ # @get('isJobTab') && @get('job.canCancel')
+ false
+ ).property('job.state', 'tab')
canCancelJob: (->
- # @get('isJobTab') && @get('job.canCancel') && @get('hasPermission')
+ # @get('displayCancelJob') && @get('hasPermission')
false
- ).property('job.state', 'hasPermission', 'tab')
+ ).property('displayCancelJob', 'hasPermission')
+
+ displayRegenerateKey: true
canRegenerateKey: (->
- @get('hasPermission')
+ @get('displayRegenerateKey') && @get('hasPermission')
).property('hasPermission')
diff --git a/assets/styles/_mixins/colors.sass b/assets/styles/_mixins/colors.sass
index 2599ed42..06f2e61a 100644
--- a/assets/styles/_mixins/colors.sass
+++ b/assets/styles/_mixins/colors.sass
@@ -48,6 +48,7 @@ $color-link-highlight: $red-medium-1
$color-link-sponsor: #575c7c
$color-link-top: $gray-medium-3
$color-link-top-highlight: $white
+$color-link-disabled: $gray-medium-1
$color-bg-dark: $slate-blue-2
$color-bg-light: $gray-light-1
diff --git a/assets/styles/main/tools.sass b/assets/styles/main/tools.sass
index 67fcdca8..7f85a225 100644
--- a/assets/styles/main/tools.sass
+++ b/assets/styles/main/tools.sass
@@ -25,7 +25,10 @@
a
display: block
padding: 5px 25px 5px 25px
- &:hover
+ &:hover:not(.disabled)
background-color: $color-bg-menu-hover
&:last-child
@include border-bottom-radius(4px)
+ &.disabled
+ cursor: default
+ color: $color-link-disabled