Merge pull request #1514 from bahdcoder/fix-user-roles-and-permissions

Fix user roles and permissions issue
This commit is contained in:
Jim LAURIE 2018-07-17 12:22:54 +02:00 committed by GitHub
commit 29507efd68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -199,7 +199,11 @@ module.exports = {
}, },
updatePermissions: async function (cb) { updatePermissions: async function (cb) {
const actions = strapi.plugins['users-permissions'].config.actions || []; // fetch all the current permissions from the database, and format them into an array of actions.
const databasePermissions = await strapi.query('permission', 'users-permissions').find();
const actions = databasePermissions
.map(permission => `${permission.type}.${permission.controller}.${permission.action}`);
// Aggregate first level actions. // Aggregate first level actions.
const appActions = Object.keys(strapi.api || {}).reduce((acc, api) => { const appActions = Object.keys(strapi.api || {}).reduce((acc, api) => {
@ -232,7 +236,7 @@ module.exports = {
// Merge array into one. // Merge array into one.
const currentActions = appActions.concat(pluginsActions); const currentActions = appActions.concat(pluginsActions);
// Count permissions available. // Count permissions available.
const permissions = await strapi.query('permission', 'users-permissions').count(); const permissions = databasePermissions.length;
// Compare to know if actions have been added or removed from controllers. // Compare to know if actions have been added or removed from controllers.
if (!_.isEqual(actions, currentActions) || permissions < 1) { if (!_.isEqual(actions, currentActions) || permissions < 1) {