From 63559f4c4c0e8f55646879a1453295bd8fe7aa2a Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 11 Mar 2013 20:11:43 +0100 Subject: [PATCH] Show appropriate message when the repository has no builds --- assets/scripts/app/controllers/build.coffee | 4 +- assets/scripts/app/controllers/repo.coffee | 6 +- assets/scripts/app/controllers/repos.coffee | 2 +- assets/scripts/app/models/repo.coffee | 3 + assets/scripts/app/templates/builds/show.hbs | 100 ++++++++++--------- assets/scripts/app/views/repo/show.coffee | 1 - 6 files changed, 61 insertions(+), 55 deletions(-) diff --git a/assets/scripts/app/controllers/build.coffee b/assets/scripts/app/controllers/build.coffee index 5023424e..289672e1 100644 --- a/assets/scripts/app/controllers/build.coffee +++ b/assets/scripts/app/controllers/build.coffee @@ -8,8 +8,8 @@ Travis.BuildController = Ember.Controller.extend currentItemBinding: 'build' loading: (-> - !@get('build.isLoaded') - ).property('build.isLoaded') + @get('build.isLoading') + ).property('build.isLoading') urlGithubCommit: (-> Travis.Urls.githubCommit(@get('repo.slug'), @get('commit.sha')) diff --git a/assets/scripts/app/controllers/repo.coffee b/assets/scripts/app/controllers/repo.coffee index 75894468..bf5e0de7 100644 --- a/assets/scripts/app/controllers/repo.coffee +++ b/assets/scripts/app/controllers/repo.coffee @@ -3,9 +3,9 @@ Travis.RepoController = Travis.Controller.extend needs: ['repos', 'currentUser'] currentUserBinding: 'controllers.currentUser' - isError: (-> @get('content.isError') ).property('content.isError') - slug: (-> @get('content.slug') ).property('content.slug') - isLoading: (-> @get('content.isLoading') ).property('content.isLoading') + isError: (-> @get('repo.isError') ).property('repo.isError') + slug: (-> @get('repo.slug') ).property('repo.slug') + isLoading: (-> @get('repo.isLoading') ).property('repo.isLoading') init: -> @_super.apply this, arguments diff --git a/assets/scripts/app/controllers/repos.coffee b/assets/scripts/app/controllers/repos.coffee index c26ee34e..88b1ad60 100644 --- a/assets/scripts/app/controllers/repos.coffee +++ b/assets/scripts/app/controllers/repos.coffee @@ -20,7 +20,7 @@ Travis.ReposController = Ember.ArrayController.extend Travis.LimitedArray.create content: Em.ArrayProxy.extend(Em.SortableMixin).create( sortProperties: ['sortOrder'] - content: Travis.Repo.find() + content: Travis.Repo.withLastBuild() isLoadedBinding: 'content.isLoaded' ) limit: 30 diff --git a/assets/scripts/app/models/repo.coffee b/assets/scripts/app/models/repo.coffee index a4ee3cbf..34118023 100644 --- a/assets/scripts/app/models/repo.coffee +++ b/assets/scripts/app/models/repo.coffee @@ -116,6 +116,9 @@ require 'travis/model' search: (query) -> @find(search: query, orderBy: 'name') + withLastBuild: -> + @filter( (repo) -> repo.get('lastBuildId') ) + bySlug: (slug) -> repo = $.select(@find().toArray(), (repo) -> repo.get('slug') == slug) if repo.length > 0 then repo else @find(slug: slug) diff --git a/assets/scripts/app/templates/builds/show.hbs b/assets/scripts/app/templates/builds/show.hbs index 5fe5d11f..ca5a3bc4 100644 --- a/assets/scripts/app/templates/builds/show.hbs +++ b/assets/scripts/app/templates/builds/show.hbs @@ -1,57 +1,61 @@ {{#if loading}} Loading {{else}} -
-
-
{{t builds.name}}
-
- - {{#if build.id}} - {{#if build.repo.slug}} - {{#linkTo build repo build}}{{build.number}}{{/linkTo}} + {{#if build}} +
+
+
{{t builds.name}}
+
+ + {{#if build.id}} + {{#if build.repo.slug}} + {{#linkTo build repo build}}{{build.number}}{{/linkTo}} + {{/if}} {{/if}} - {{/if}} -
-
{{t builds.state}}
-
{{capitalize build.state}}
-
{{t builds.finished_at}}
-
{{formatTime build.finishedAt}}
-
{{t builds.duration}}
-
{{formatDuration build.duration}}
-
- - {{#if commit}} -
-
{{t builds.commit}}
-
{{formatCommit build.commit}}
- {{#if commit.compareUrl}} -
{{t builds.compare}}
-
{{pathFrom build.commit.compareUrl}}
- {{/if}} - {{#if commit.authorName}} -
{{t builds.author}}
-
{{build.commit.authorName}}
- {{/if}} - {{#if commit.committerName}} -
{{t builds.committer}}
-
{{build.commit.committerName}}
- {{/if}} +
+
{{t builds.state}}
+
{{capitalize build.state}}
+
{{t builds.finished_at}}
+
{{formatTime build.finishedAt}}
+
{{t builds.duration}}
+
{{formatDuration build.duration}}
+ + {{#if commit}} +
+
{{t builds.commit}}
+
{{formatCommit build.commit}}
+ {{#if commit.compareUrl}} +
{{t builds.compare}}
+
{{pathFrom build.commit.compareUrl}}
+ {{/if}} + {{#if commit.authorName}} +
{{t builds.author}}
+
{{build.commit.authorName}}
+ {{/if}} + {{#if commit.committerName}} +
{{t builds.committer}}
+
{{build.commit.committerName}}
+ {{/if}} +
+ {{/if}} + +
{{t builds.message}}
+
{{formatMessage build.commit.message}}
+ + {{#unless isMatrix}} +
{{t builds.config}}
+
{{formatConfig build.config}}
+ {{/unless}} +
+ + {{#if build.isMatrix}} + {{view Travis.JobsView jobsBinding="build.requiredJobs" required="true"}} + {{view Travis.JobsView jobsBinding="build.allowedFailureJobs"}} + {{else}} + {{view Travis.LogView jobBinding="job"}} {{/if}} - -
{{t builds.message}}
-
{{formatMessage build.commit.message}}
- - {{#unless isMatrix}} -
{{t builds.config}}
-
{{formatConfig build.config}}
- {{/unless}} - - - {{#if build.isMatrix}} - {{view Travis.JobsView jobsBinding="build.requiredJobs" required="true"}} - {{view Travis.JobsView jobsBinding="build.allowedFailureJobs"}} {{else}} - {{view Travis.LogView jobBinding="job"}} + There are no builds for this repository. {{/if}} {{/if}} diff --git a/assets/scripts/app/views/repo/show.coffee b/assets/scripts/app/views/repo/show.coffee index a7e04613..0c0e317d 100644 --- a/assets/scripts/app/views/repo/show.coffee +++ b/assets/scripts/app/views/repo/show.coffee @@ -2,7 +2,6 @@ Travis.reopen RepoView: Travis.View.extend templateName: 'repos/show' - repoBinding: 'controllers.repo' reposBinding: 'controllers.repos' classNameBindings: ['controller.isLoading:loading']