UX: Allow admins to manage automatic groups on group page.
This commit is contained in:
@@ -1,9 +1,24 @@
|
||||
import { default as computed } from 'ember-addons/ember-computed-decorators';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
application: Ember.inject.controller(),
|
||||
|
||||
tabs: [
|
||||
{ route: 'group.manage.profile', title: 'groups.manage.profile.title' },
|
||||
{ route: 'group.manage.members', title: 'groups.manage.members.title' },
|
||||
{ route: 'group.manage.logs', title: 'groups.manage.logs.title' },
|
||||
],
|
||||
@computed("model.automatic")
|
||||
tabs(automatic) {
|
||||
const defaultTabs = [
|
||||
{ route: 'group.manage.profile', title: 'groups.manage.profile.title' },
|
||||
];
|
||||
|
||||
if (!automatic) {
|
||||
defaultTabs.push(
|
||||
{ route: 'group.manage.members', title: 'groups.manage.members.title' }
|
||||
);
|
||||
|
||||
defaultTabs.push(
|
||||
{ route: 'group.manage.logs', title: 'groups.manage.logs.title' },
|
||||
);
|
||||
}
|
||||
|
||||
return defaultTabs;
|
||||
},
|
||||
});
|
||||
|
||||
@@ -14,8 +14,8 @@ export default Ember.Controller.extend({
|
||||
counts: null,
|
||||
showing: 'members',
|
||||
|
||||
@computed('showMessages', 'model.user_count')
|
||||
tabs(showMessages, userCount) {
|
||||
@computed('showMessages', 'model.user_count', 'canManageGroup')
|
||||
tabs(showMessages, userCount, canManageGroup) {
|
||||
const membersTab = Tab.create({
|
||||
name: 'members',
|
||||
route: 'group.index',
|
||||
@@ -36,7 +36,7 @@ export default Ember.Controller.extend({
|
||||
}));
|
||||
}
|
||||
|
||||
if (this.currentUser && this.currentUser.canManageGroup(this.model)) {
|
||||
if (canManageGroup) {
|
||||
defaultTabs.push(
|
||||
Tab.create({
|
||||
name: 'manage', i18nKey: 'manage.title', icon: 'wrench'
|
||||
@@ -81,9 +81,12 @@ export default Ember.Controller.extend({
|
||||
return this.currentUser && messageable;
|
||||
},
|
||||
|
||||
@computed('model')
|
||||
canManageGroup(model) {
|
||||
return this.currentUser && this.currentUser.canManageGroup(model);
|
||||
@computed('model', 'model.automatic')
|
||||
canManageGroup(model, automatic) {
|
||||
return this.currentUser && (
|
||||
this.currentUser.canManageGroup(model) ||
|
||||
(this.currentUser.admin && automatic)
|
||||
);
|
||||
},
|
||||
|
||||
actions: {
|
||||
|
||||
Reference in New Issue
Block a user