mirror of
https://github.com/flarum/core.git
synced 2025-10-12 15:34:26 +02:00
- Introduce the concept of "required permissions" - basically a permission dependency tree. In order for a group to be granted one permission, they must also have another. - Improve redraw performance by not building dropdown menu contents until dropdown is opened ref #904
34 lines
875 B
JavaScript
34 lines
875 B
JavaScript
import App from 'flarum/App';
|
|
import store from 'flarum/initializers/store';
|
|
import preload from 'flarum/initializers/preload';
|
|
import routes from 'flarum/initializers/routes';
|
|
import boot from 'flarum/initializers/boot';
|
|
|
|
const app = new App();
|
|
|
|
app.initializers.add('store', store);
|
|
app.initializers.add('routes', routes);
|
|
|
|
app.initializers.add('preload', preload, -100);
|
|
app.initializers.add('boot', boot, -100);
|
|
|
|
app.extensionSettings = {};
|
|
|
|
app.getRequiredPermissions = function(permission) {
|
|
const required = [];
|
|
|
|
if (permission === 'startDiscussion' || permission.indexOf('discussion.') === 0) {
|
|
required.push('viewDiscussions');
|
|
}
|
|
if (permission === 'discussion.delete') {
|
|
required.push('discussion.hide');
|
|
}
|
|
if (permission === 'discussion.deletePosts') {
|
|
required.push('discussion.editPosts');
|
|
}
|
|
|
|
return required;
|
|
};
|
|
|
|
export default app;
|