mirror of
https://github.com/discourse/discourse.git
synced 2025-02-21 07:06:26 +08:00
FIX: Category permissions were broken
This commit is contained in:
parent
fa7d38a773
commit
73526e1211
@ -1,19 +1,24 @@
|
||||
import RestModel from 'discourse/models/rest';
|
||||
import { on } from 'ember-addons/ember-computed-decorators';
|
||||
|
||||
const Category = RestModel.extend({
|
||||
|
||||
init: function() {
|
||||
this._super();
|
||||
var availableGroups = Em.A(this.get("available_groups"));
|
||||
|
||||
@on('init')
|
||||
setupGroupsAndPermissions() {
|
||||
const availableGroups = this.get('available_groups');
|
||||
if (!availableGroups) { return; }
|
||||
this.set("availableGroups", availableGroups);
|
||||
this.set("permissions", Em.A(_.map(this.group_permissions, function(elem){
|
||||
availableGroups.removeObject(elem.group_name);
|
||||
return {
|
||||
group_name: elem.group_name,
|
||||
permission: Discourse.PermissionType.create({id: elem.permission_type})
|
||||
};
|
||||
})));
|
||||
|
||||
const groupPermissions = this.get('group_permissions');
|
||||
if (groupPermissions) {
|
||||
this.set('permissions', groupPermissions.map((elem) => {
|
||||
availableGroups.removeObject(elem.group_name);
|
||||
return {
|
||||
group_name: elem.group_name,
|
||||
permission: Discourse.PermissionType.create({id: elem.permission_type})
|
||||
};
|
||||
}));
|
||||
}
|
||||
},
|
||||
|
||||
availablePermissions: function(){
|
||||
|
@ -129,6 +129,7 @@ const ApplicationRoute = Discourse.Route.extend(OpenComposer, {
|
||||
editCategory(category) {
|
||||
Category.reloadById(category.get('id')).then((atts) => {
|
||||
const model = this.store.createRecord('category', atts.category);
|
||||
model.setupGroupsAndPermissions();
|
||||
this.site.updateCategory(model);
|
||||
showModal('editCategory', { model });
|
||||
this.controllerFor('editCategory').set('selectedTab', 'general');
|
||||
|
Loading…
x
Reference in New Issue
Block a user