Merge pull request #3788 from getabetterpic/fix-create-topic-when-insufficient-category-permissions

Fix bug where create topic is suggested when insufficient permissions
This commit is contained in:
Régis Hanol 2015-09-23 11:36:58 +02:00
commit 64ef5f79bd
3 changed files with 18 additions and 5 deletions

View File

@ -63,9 +63,15 @@ export default (filter, params) => {
setupController(controller, model) { setupController(controller, model) {
const topics = this.get('topics'), const topics = this.get('topics'),
periodId = topics.get('for_period') || (filter.indexOf('/') > 0 ? filter.split('/')[1] : ''); periodId = topics.get('for_period') || (filter.indexOf('/') > 0 ? filter.split('/')[1] : ''),
canCreateTopic = topics.get('can_create_topic'),
canCreateTopicOnCategory = model.get('permission') === Discourse.PermissionType.FULL;
this.controllerFor('navigation/category').set('canCreateTopic', topics.get('can_create_topic')); this.controllerFor('navigation/category').setProperties({
canCreateTopicOnCategory: canCreateTopicOnCategory,
cannotCreateTopicOnCategory: !canCreateTopicOnCategory,
canCreateTopic: canCreateTopic
});
this.controllerFor('discovery/topics').setProperties({ this.controllerFor('discovery/topics').setProperties({
model: topics, model: topics,
category: model, category: model,
@ -74,7 +80,9 @@ export default (filter, params) => {
noSubcategories: params && !!params.no_subcategories, noSubcategories: params && !!params.no_subcategories,
order: topics.get('params.order'), order: topics.get('params.order'),
ascending: topics.get('params.ascending'), ascending: topics.get('params.ascending'),
expandAllPinned: true expandAllPinned: true,
canCreateTopic: canCreateTopic,
canCreateTopicOnCategory: canCreateTopicOnCategory
}); });
this.searchService.set('searchContext', model.get('searchContext')); this.searchService.set('searchContext', model.get('searchContext'));

View File

@ -67,7 +67,7 @@
</div> </div>
<h3> <h3>
{{footerMessage}} {{footerMessage}}
{{#if model.can_create_topic}}<a href {{action "createTopic"}}>{{i18n 'topic.suggest_create_topic'}}</a>{{/if}} {{#if canCreateTopicOnCategory}}<a href {{action "createTopic"}}>{{i18n 'topic.suggest_create_topic'}}</a>{{/if}}
</h3> </h3>
{{else}} {{else}}
{{#if top}} {{#if top}}

View File

@ -11,7 +11,12 @@
{{/if}} {{/if}}
{{#if canCreateTopic}} {{#if canCreateTopic}}
{{d-button id="create-topic" class="btn-default" action="createTopic" icon="plus" label="topic.create"}} {{d-button id="create-topic"
class="btn-default"
action="createTopic"
icon="plus"
label="topic.create"
disabled=cannotCreateTopicOnCategory}}
{{/if}} {{/if}}
{{#if canEditCategory}} {{#if canEditCategory}}