From 5b361a49ef1787fb76c5338fce9e83e1692eaf1e Mon Sep 17 00:00:00 2001 From: Lisa Passing Date: Wed, 29 Jul 2015 16:07:31 +0200 Subject: [PATCH] initial attempt to trigger the first build of a repo through api --- app/components/no-builds.coffee | 18 +++++++++++++++++- app/controllers/builds.coffee | 20 ++++++++++++++------ app/templates/builds.hbs | 2 +- app/templates/components/no-builds.hbs | 6 +++++- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/app/components/no-builds.coffee b/app/components/no-builds.coffee index 38e3b529..57050edf 100644 --- a/app/components/no-builds.coffee +++ b/app/components/no-builds.coffee @@ -1,5 +1,21 @@ `import Ember from 'ember'` +`import Ajax from 'travis/utils/ajax'` +`import config from 'travis/config/environment'` -NoBuildsComponent = Ember.Component.extend() +NoBuildsComponent = Ember.Component.extend + + actions: + triggerBuild: () -> + @set('isLoading', true) + apiEndpoint = config.apiEndpoint + $.ajax(apiEndpoint + "/v3/repo/#{@get('repo.repo.id')}/requests", { + headers: { + Authorization: 'token ' + @get('repo.auth') + }, + type: "POST" + }).then( => + @set('isLoading', false) + # @transitionToRoute('repo') + ); `export default NoBuildsComponent` diff --git a/app/controllers/builds.coffee b/app/controllers/builds.coffee index 206d7b72..d0f28631 100644 --- a/app/controllers/builds.coffee +++ b/app/controllers/builds.coffee @@ -22,14 +22,21 @@ Controller = Ember.ArrayController.extend ).property('tab', 'lastObject.number') displayPullRequests: (-> - if Ember.isEmpty(@get('repo.builds.content')) - return false # if there is no build there is no PR - else if Ember.isEmpty(@get('repo.pullRequests.content')) - return true + if @get('tab') == 'pull_requests' + if Ember.isEmpty(@get('repo.pullRequests.content')) + true + else + false else - return false + false + ).property('tab', 'repo.builds', 'repo.pullRequests') - ).property('tab', 'lastObject.number') + things: (-> + return { + repo: @get('repo'), + auth: @auth.token() + } + ).property('repo') olderThanNumber: (id, number, type) -> options = { repository_id: id, after_number: number } @@ -38,4 +45,5 @@ Controller = Ember.ArrayController.extend @store.find('build', options) + `export default Controller` diff --git a/app/templates/builds.hbs b/app/templates/builds.hbs index 932d2453..defdc32e 100644 --- a/app/templates/builds.hbs +++ b/app/templates/builds.hbs @@ -3,7 +3,7 @@ {{#each controller as |build|}} {{builds-item build=build}} {{else}} - {{no-builds isPR=displayPullRequests}} + {{no-builds repo=things isPR=displayPullRequests}} {{/each}} {{#if displayShowMoreButton}}

diff --git a/app/templates/components/no-builds.hbs b/app/templates/components/no-builds.hbs index 6f41699e..78e42fbd 100644 --- a/app/templates/components/no-builds.hbs +++ b/app/templates/components/no-builds.hbs @@ -65,7 +65,11 @@ {{#unless isPR}}

No builds for this repository

Want to start testing this project on Travis CI?

- Read the Docs on Getting Started + {{#if isLoading}} + {{loading-indicator}} + {{else}} + Trigger the first build + {{/if}} {{else}}

No Pull Request builds for this Repositiory

{{/unless}}