diff --git a/app/assets/javascripts/discourse/controllers/group-manage.js.es6 b/app/assets/javascripts/discourse/controllers/group-manage.js.es6 index 3b94a86d024..4979911de78 100644 --- a/app/assets/javascripts/discourse/controllers/group-manage.js.es6 +++ b/app/assets/javascripts/discourse/controllers/group-manage.js.es6 @@ -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; + }, }); diff --git a/app/assets/javascripts/discourse/controllers/group.js.es6 b/app/assets/javascripts/discourse/controllers/group.js.es6 index d17de48bec4..6c0d32624a9 100644 --- a/app/assets/javascripts/discourse/controllers/group.js.es6 +++ b/app/assets/javascripts/discourse/controllers/group.js.es6 @@ -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: { diff --git a/app/assets/javascripts/discourse/routes/group-manage.js.es6 b/app/assets/javascripts/discourse/routes/group-manage.js.es6 index aca7a4bc6ed..43830174aab 100644 --- a/app/assets/javascripts/discourse/routes/group-manage.js.es6 +++ b/app/assets/javascripts/discourse/routes/group-manage.js.es6 @@ -8,7 +8,10 @@ export default Discourse.Route.extend({ }, afterModel(group) { - if (!this.currentUser || !this.currentUser.canManageGroup(group)) { + if (!this.currentUser || + !(this.currentUser.admin && group.get('automatic')) && + !this.currentUser.canManageGroup(group)) { + this.transitionTo("group.members", group); } }, diff --git a/app/assets/javascripts/discourse/templates/components/group-form.hbs b/app/assets/javascripts/discourse/templates/components/group-form.hbs index 43eeea98377..c13f981d32f 100644 --- a/app/assets/javascripts/discourse/templates/components/group-form.hbs +++ b/app/assets/javascripts/discourse/templates/components/group-form.hbs @@ -1,57 +1,5 @@