From a56e4a39c3f559b91bacc51c5233bfe7816af6a7 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 30 Nov 2015 13:50:14 +0100 Subject: [PATCH] Fix sorting on the left sidebar --- app/components/repos-list.js | 3 ++- app/controllers/repos.coffee | 15 ++++++++------- app/models/repo.coffee | 4 ++++ 3 files changed, 14 insertions(+), 8 deletions(-) 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') )