From 33450a4ee14cbf5f204c4af5543e4f7b8fac8df2 Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Tue, 22 Jan 2019 16:22:12 +0000 Subject: [PATCH] Added `user.isOwnerOrAdmin` CP --- ghost/admin/app/helpers/gh-user-can-admin.js | 2 +- ghost/admin/app/models/user.js | 3 ++- ghost/admin/app/routes/subscribers.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ghost/admin/app/helpers/gh-user-can-admin.js b/ghost/admin/app/helpers/gh-user-can-admin.js index 1abc67ec5c..28bac52247 100644 --- a/ghost/admin/app/helpers/gh-user-can-admin.js +++ b/ghost/admin/app/helpers/gh-user-can-admin.js @@ -6,7 +6,7 @@ import {helper} from '@ember/component/helper'; // @param session.user export function ghUserCanAdmin(params) { - return !!(params[0].get('isOwner') || params[0].get('isAdmin')); + return !!(params[0].isOwnerOrAdmin); } export default helper(function (params) { diff --git a/ghost/admin/app/models/user.js b/ghost/admin/app/models/user.js index 70bcd44372..0675f3c36f 100644 --- a/ghost/admin/app/models/user.js +++ b/ghost/admin/app/models/user.js @@ -52,7 +52,8 @@ export default Model.extend(ValidationEngine, { isAdmin: equal('role.name', 'Administrator'), isOwner: equal('role.name', 'Owner'), - // This is used in enough places that it's useful to throw it here + // These are used in enough places that it's useful to throw them here + isOwnerOrAdmin: or('isOwner', 'isAdmin'), isAuthorOrContributor: or('isAuthor', 'isContributor'), isLoggedIn: computed('id', 'session.user.id', function () { diff --git a/ghost/admin/app/routes/subscribers.js b/ghost/admin/app/routes/subscribers.js index 3f36437a97..a8a1677ac5 100644 --- a/ghost/admin/app/routes/subscribers.js +++ b/ghost/admin/app/routes/subscribers.js @@ -18,7 +18,7 @@ export default AuthenticatedRoute.extend({ return RSVP.hash(promises).then((hash) => { let {user, subscribers} = hash; - if (!subscribers || !(user.get('isOwner') || user.get('isAdmin'))) { + if (!subscribers || !user.isOwnerOrAdmin) { return this.transitionTo('posts'); } });