From 201a3abf1732d10fec1ebe241fc95479e98afd79 Mon Sep 17 00:00:00 2001 From: Lukasz Sarnacki Date: Thu, 7 Feb 2013 00:40:15 +0100 Subject: [PATCH] Disable links in cog menu when not signed in When user is not logged in, some links in cog menu are not display. This commit makes them visible but disabled. --- .../app/templates/repos/show/tools.hbs | 28 +++++--- assets/scripts/app/views/repo/show.coffee | 69 +++++++++++++------ assets/styles/_mixins/colors.sass | 1 + assets/styles/main/tools.sass | 5 +- 4 files changed, 70 insertions(+), 33 deletions(-) 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 @@
  • Status Images
  • - {{#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}}
  • - Regenerate Key + + Regenerate Key +
  • {{/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