diff --git a/app/components/repos-list.js b/app/components/repos-list.js index 8a3c6caa..4220b4f5 100644 --- a/app/components/repos-list.js +++ b/app/components/repos-list.js @@ -60,7 +60,8 @@ var ReposListComponent = Ember.Component.extend({ } else { return []; } - }.property('repos.[]', 'repos') + }.property('repos.[]', 'repos.@each.lastBuildFinishedAt', + 'repos.@each.lastBuildId') }); export default ReposListComponent; diff --git a/app/controllers/repos.coffee b/app/controllers/repos.coffee index 3413619d..41476646 100644 --- a/app/controllers/repos.coffee +++ b/app/controllers/repos.coffee @@ -86,13 +86,14 @@ Controller = Ember.Controller.extend this["view_#{tab}".camelize()](params) viewOwned: -> - @set('isLoaded', false); - @get('currentUser._rawPermissions').then (data) => - repos = Repo.accessibleBy(@store, data.pull).then( (reposRecordArray) => - @set('isLoaded', true) - @set('repos', reposRecordArray) - ) - # TODO: handle error + @set('isLoaded', false) + if user = @get('currentUser') + user.get('_rawPermissions').then (data) => + repos = Repo.accessibleBy(@store, data.pull).then( (reposRecordArray) => + @set('isLoaded', true) + @set('repos', reposRecordArray) + ) + # TODO: handle error viewRunning: -> diff --git a/app/models/repo.coffee b/app/models/repo.coffee index 80a9e57f..d88f13a8 100644 --- a/app/models/repo.coffee +++ b/app/models/repo.coffee @@ -17,6 +17,10 @@ Repo = Model.extend #lastBuild: DS.belongsTo('build') defaultBranch: DS.belongsTo('branch', async: false) + # just for sorting + lastBuildFinishedAt: Ember.computed.oneWay('defaultBranch.lastBuild.finishedAt') + lastBuildId: Ember.computed.oneWay('defaultBranch.lastBuild.id') + withLastBuild: -> @filter( (repo) -> repo.get('defaultBranch.lastBuild') )