diff --git a/core/client/app/helpers/gh-user-can.js b/core/client/app/helpers/gh-user-can.js new file mode 100644 index 0000000000..501a166154 --- /dev/null +++ b/core/client/app/helpers/gh-user-can.js @@ -0,0 +1,17 @@ +import Ember from 'ember'; +// Handlebars Helper {{gh-user-can}} +// Usage: call helper as with first parameter of session.user and second parameter the minimum role +// e.g - {{#if (gh-user-can session.user 'admin')}} 'block content' {{/if}} +// @param1 session.user +// @param2 'admin' or 'editor' + +export function ghUserCan(params) { + if (params[1] === 'admin') { + return !!(params[0].get('isOwner') || params[0].get('isAdmin')); + } else if (params[1] === 'editor') { + return !!(params[0].get('isOwner') || params[0].get('isAdmin') || params[0].get('isEditor')); + } + return false; +} + +export default Ember.HTMLBars.makeBoundHelper(ghUserCan); diff --git a/core/client/app/templates/components/gh-nav-menu.hbs b/core/client/app/templates/components/gh-nav-menu.hbs index 3fc4add648..298bad9f2f 100644 --- a/core/client/app/templates/components/gh-nav-menu.hbs +++ b/core/client/app/templates/components/gh-nav-menu.hbs @@ -27,15 +27,17 @@