From 13ce7f88bd9a91b5647002806dcdb1dfd3976153 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 7 Sep 2015 13:21:57 +0200 Subject: [PATCH] Fix getting push access data on settings reload --- app/models/user.coffee | 6 ++++++ app/routes/settings.coffee | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/models/user.coffee b/app/models/user.coffee index 964098f1..a3524584 100644 --- a/app/models/user.coffee +++ b/app/models/user.coffee @@ -54,6 +54,12 @@ User = Model.extend permissions ).property() + # TODO: permissions are loading asynchronously at the moment, so this should + # be the way to return them for all types: + pushPermissionsPromise: (-> + @get('_rawPermissions').then (data) => data.pull + ).property() + hasAccessToRepo: (repo) -> id = if repo.get then repo.get('id') else repo diff --git a/app/routes/settings.coffee b/app/routes/settings.coffee index 226f4de8..0945c35e 100644 --- a/app/routes/settings.coffee +++ b/app/routes/settings.coffee @@ -43,10 +43,11 @@ Route = TravisRoute.extend ); hasPushAccess: -> - repoId = parseInt @modelFor('repo').get('id') + repoId = parseInt(@modelFor('repo').get('id')) - @auth.get('currentUser').get('pushPermissions').filter (item) -> - item == repoId + @auth.get('currentUser').get('pushPermissionsPromise').then (permissions) -> + permissions.filter (item) -> + item == repoId model: () -> return Ember.RSVP.hash({