From 808e34122747af5ab7630ebca5adc9227a9ee986 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Sat, 1 Dec 2012 01:32:48 +0100 Subject: [PATCH] split requeueBuild vs requeueJob --- assets/scripts/app/models/build.coffee | 3 +- assets/scripts/app/models/job.coffee | 7 +++++ .../app/templates/repos/show/tools.hbs | 9 ++++-- assets/scripts/app/views/repo/show.coffee | 31 +++++++++++++------ 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/assets/scripts/app/models/build.coffee b/assets/scripts/app/models/build.coffee index 707a7710..438a1771 100644 --- a/assets/scripts/app/models/build.coffee +++ b/assets/scripts/app/models/build.coffee @@ -49,9 +49,8 @@ require 'travis/model' $.map(headers.concat(keys), (key) -> return $.camelize(key)) ).property('config') - requeue: (-> + requeue: -> Travis.ajax.post '/requests', build_id: @get('id') - ) isAttributeLoaded: (key) -> if ['_duration', 'finishedAt', 'result'].contains(key) && !@get('finished') diff --git a/assets/scripts/app/models/job.coffee b/assets/scripts/app/models/job.coffee index ef4a3dc4..13a1facd 100644 --- a/assets/scripts/app/models/job.coffee +++ b/assets/scripts/app/models/job.coffee @@ -33,6 +33,10 @@ require 'travis/model' Travis.Helpers.compact(@get('data.config')) ).property('data.config') + isFinished: (-> + @get('state') == 'finished' + ).property('state') + sponsor: (-> worker = @get('log.workerName') if worker && worker.length @@ -52,6 +56,9 @@ require 'travis/model' [] ).property('config') + requeue: -> + Travis.ajax.post '/requests', job_id: @get('id') + appendLog: (text) -> if log = @get('log') log.append(text) diff --git a/assets/scripts/app/templates/repos/show/tools.hbs b/assets/scripts/app/templates/repos/show/tools.hbs index d6824112..ad95fdd5 100644 --- a/assets/scripts/app/templates/repos/show/tools.hbs +++ b/assets/scripts/app/templates/repos/show/tools.hbs @@ -4,9 +4,14 @@
  • Status Images
  • - {{#if view.canPush}} + {{#if view.canRequeueBuild}}
  • - Rebuild + Rebuild +
  • + {{/if}} + {{#if view.canRequeueJob}} +
  • + Rebuild
  • {{/if}} diff --git a/assets/scripts/app/views/repo/show.coffee b/assets/scripts/app/views/repo/show.coffee index 76615250..f9edd3a4 100644 --- a/assets/scripts/app/views/repo/show.coffee +++ b/assets/scripts/app/views/repo/show.coffee @@ -90,25 +90,38 @@ element = $('#tools .menu').toggleClass('display') event.stopPropagation() - requeue: -> - @closeMenu() - @get('build').requeue() - statusImages: (event) -> @set('active', true) @closeMenu() @popup(event) event.stopPropagation() - canPush: (-> - @get('isBuildTab') && @get('build.isFinished') && @get('hasPushPermissions') - ).property('build.isFinished', 'hasPushPermissions', 'isBuildTab') + requeueBuild: -> + @closeMenu() + @get('build').requeue() + + requeueJob: -> + @closeMenu() + @get('job').requeue() + + canRequeueBuild: (-> + @get('isBuildTab') && @get('build.isFinished') && @get('hasPermissions') + ).property('isBuildTab', 'build.isFinished', 'hasPermissions') + + canRequeueJob: (-> + @get('isJobTab') && @get('job.isFinished') && @get('hasPermissions') + ).property('isJobTab', 'job.isFinished', 'hasPermissions') isBuildTab: (-> - ['current', 'build', 'job'].indexOf(@get('tab')) > -1 + # ['current', 'build', 'job'].indexOf(@get('tab')) > -1 + @get('tab') in ['current', 'build'] ).property('tab') - hasPushPermissions: (-> + isJobTab: (-> + @get('tab') == 'job' + ).property('tab') + + hasPermissions: (-> if permissions = Travis.app.get('currentUser.permissions') permissions.indexOf(@get('repo.id')) > -1 ).property('Travis.app.currentUser.permissions.length', 'repo.id')