diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee index f1b4f520..960e2024 100644 --- a/assets/scripts/app/controllers.coffee +++ b/assets/scripts/app/controllers.coffee @@ -48,6 +48,14 @@ Travis.FirstSyncController = Em.Controller.extend isSyncing: Ember.computed.alias('user.isSyncing') +Travis.BuildNotFoundController = Em.Controller.extend + needs: ['repo', 'currentUser'] + ownedAndActive: (-> + if permissions = @get('controllers.currentUser.permissions') + if repo = @get('controllers.repo.repo') + repo.get('active') && permissions.contains(parseInt(repo.get('id'))) + ).property('controllers.repo.repo', 'controllers.currentUser.permissions') + require 'controllers/accounts' require 'controllers/build' require 'controllers/builds' diff --git a/assets/scripts/app/models/repo.coffee b/assets/scripts/app/models/repo.coffee index 790b3f67..54fbdb42 100644 --- a/assets/scripts/app/models/repo.coffee +++ b/assets/scripts/app/models/repo.coffee @@ -12,6 +12,7 @@ require 'travis/model' lastBuildFinishedAt: Ember.attr('string') githubLanguage: Ember.attr('string') _lastBuildDuration: Ember.attr(Number, key: 'last_build_duration') + active: Ember.attr('boolean') lastBuild: Ember.belongsTo('Travis.Build', key: 'last_build_id') @@ -113,7 +114,7 @@ require 'travis/model' @find(owner_name: login, orderBy: 'name') accessibleBy: (login) -> - @find(member: login, orderBy: 'name') + @find(member: login, active: true) search: (query) -> @find(search: query, orderBy: 'name') diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 3215cbcf..1c296e1f 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -125,7 +125,7 @@ Travis.SetupLastBuild = Ember.Mixin.create repo = @controllerFor('repo').get('repo') if repo && repo.get('isLoaded') && !repo.get('lastBuild') Ember.run.next => - @render('builds/not_found', outlet: 'pane', into: 'repo') + @render('builds/not_found', outlet: 'pane', into: 'repo', controller: 'buildNotFound') Travis.GettingStartedRoute = Ember.Route.extend setupController: -> diff --git a/assets/scripts/app/templates/builds/not_found.hbs b/assets/scripts/app/templates/builds/not_found.hbs index 7fbeea2e..1226b546 100644 --- a/assets/scripts/app/templates/builds/not_found.hbs +++ b/assets/scripts/app/templates/builds/not_found.hbs @@ -1 +1,5 @@ -There are no builds for this repository. +{{#if ownedAndActive}} + This repository is active, but there are no builds yet. Builds will appear here after you push new commits to the repository. +{{else}} + There are no builds for this repository. +{{/if}} diff --git a/assets/scripts/app/templates/repos/list.hbs b/assets/scripts/app/templates/repos/list.hbs index 378891fc..60ffe6a4 100644 --- a/assets/scripts/app/templates/repos/list.hbs +++ b/assets/scripts/app/templates/repos/list.hbs @@ -14,11 +14,14 @@ {{#linkTo "repo" this class="slug"}}{{slug}}{{/linkTo}} {{/if}} - {{#with lastBuildHash}} - {{#if repo.slug}} - {{#linkTo "build" repo id class="last_build"}}{{number}}{{/linkTo}} - {{/if}} - {{/with}} + + {{#if lastBuild}} + {{#with lastBuildHash}} + {{#if repo.slug}} + {{#linkTo "build" repo id class="last_build"}}{{number}}{{/linkTo}} + {{/if}} + {{/with}} + {{/if}}

{{t repositories.duration}}: