diff --git a/examples/getstarted/extensions/users-permissions/models/User.config.js b/examples/getstarted/extensions/users-permissions/models/User.config.js index cbdb8c25c2..6bc0886f05 100644 --- a/examples/getstarted/extensions/users-permissions/models/User.config.js +++ b/examples/getstarted/extensions/users-permissions/models/User.config.js @@ -16,10 +16,6 @@ module.exports = { name: 'password', size: 6, }, - { - name: 'provider', - size: 6, - }, ], [ { diff --git a/packages/strapi-admin/models/Administrator.config.js b/packages/strapi-admin/models/Administrator.config.js index c1fde62031..ae49ad7a5c 100644 --- a/packages/strapi-admin/models/Administrator.config.js +++ b/packages/strapi-admin/models/Administrator.config.js @@ -1,9 +1,7 @@ module.exports = { - metadatas: { + attributes: { resetPasswordToken: { - edit: { - visible: false, - }, + hidden: true, }, }, }; diff --git a/packages/strapi-plugin-content-manager/services/utils/configuration/attributes.js b/packages/strapi-plugin-content-manager/services/utils/configuration/attributes.js index 2b121c52bb..acd58fa6ef 100644 --- a/packages/strapi-plugin-content-manager/services/utils/configuration/attributes.js +++ b/packages/strapi-plugin-content-manager/services/utils/configuration/attributes.js @@ -20,11 +20,33 @@ const NON_LISTABLES = [ 'dynamiczone', ]; +// hidden fields are fields that are configured to be hidden from list, and edit views +const isHidden = (schema, name) => { + if (!_.has(schema.attributes, name)) { + return false; + } + + const isHidden = _.get( + schema, + ['config', 'attributes', name, 'hidden'], + false + ); + if (isHidden === true) { + return true; + } + + return false; +}; + const isListable = (schema, name) => { if (!_.has(schema.attributes, name)) { return false; } + if (isHidden(schema, name)) { + return false; + } + const attribute = schema.attributes[name]; if (NON_LISTABLES.includes(attribute.type)) { return false; @@ -57,6 +79,10 @@ const isVisible = (schema, name) => { return false; } + if (isHidden(schema, name)) { + return false; + } + if (isTimestamp(schema, name) || name === 'id') { return false; } @@ -86,6 +112,10 @@ const hasRelationAttribute = (schema, name) => { return false; } + if (isHidden(schema, name)) { + return false; + } + if (!isVisible(schema, name)) { return false; } @@ -98,6 +128,10 @@ const hasEditableAttribute = (schema, name) => { return false; } + if (isHidden(schema, name)) { + return false; + } + if (!isVisible(schema, name)) { return false; } diff --git a/packages/strapi-plugin-users-permissions/models/User.config.js b/packages/strapi-plugin-users-permissions/models/User.config.js index 2e058d87f6..0e948d7346 100644 --- a/packages/strapi-plugin-users-permissions/models/User.config.js +++ b/packages/strapi-plugin-users-permissions/models/User.config.js @@ -1,19 +1,10 @@ module.exports = { - metadatas: { + attributes: { resetPasswordToken: { - edit: { - visible: false, - }, + hidden: true, }, provider: { - edit: { - visible: false, - }, - }, - role: { - edit: { - mainField: 'name', - }, + hidden: true, }, }, };