From 85ea0abdc8e114ca8cab3d3465282a400309a3b0 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 29 Jun 2020 14:45:41 +0200 Subject: [PATCH] Add condition Signed-off-by: Alexandre Bodin --- .../strapi-admin/config/admin-conditions.js | 18 ++++++++++++++++-- .../lib/mount-models.js | 2 -- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/strapi-admin/config/admin-conditions.js b/packages/strapi-admin/config/admin-conditions.js index 670e7766bd..5ef4e1023b 100644 --- a/packages/strapi-admin/config/admin-conditions.js +++ b/packages/strapi-admin/config/admin-conditions.js @@ -3,10 +3,24 @@ module.exports = { conditions: [ { - displayName: 'Is Creator', + displayName: 'Is creator', name: 'is-creator', plugin: 'admin', - handler: user => ({ created_by: user.id }), + handler: user => ({ 'created_by.id': user.id }), + }, + { + displayName: 'Has same role as creator', + name: 'has-same-role-as-creator', + plugin: 'admin', + handler: user => ({ + 'created_by.roles': { + $elemMatch: { + id: { + $in: user.roles.map(r => r.id), + }, + }, + }, + }), }, ], }; diff --git a/packages/strapi-connector-bookshelf/lib/mount-models.js b/packages/strapi-connector-bookshelf/lib/mount-models.js index 0462f10ab7..e2e0e52ed2 100644 --- a/packages/strapi-connector-bookshelf/lib/mount-models.js +++ b/packages/strapi-connector-bookshelf/lib/mount-models.js @@ -117,13 +117,11 @@ module.exports = ({ models, target }, ctx) => { if (!definition.uid.startsWith('strapi::')) { definition.attributes['created_by'] = { - autoPopulate: false, model: 'user', plugin: 'admin', }; definition.attributes['updated_by'] = { - autoPopulate: false, model: 'user', plugin: 'admin', };