mirror of
https://github.com/strapi/strapi.git
synced 2025-09-22 23:09:47 +00:00
Update permissions
Signed-off-by: HichamELBSI <elabbassih@gmail.com>
This commit is contained in:
parent
43ee492fcb
commit
cb0f33c756
@ -0,0 +1,5 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
const RolesCreatePage = () => <div>Role create</div>;
|
||||||
|
|
||||||
|
export default RolesCreatePage;
|
@ -0,0 +1,5 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
const RolesEditPage = () => <div>Role edit</div>;
|
||||||
|
|
||||||
|
export default RolesEditPage;
|
@ -0,0 +1,12 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { CheckPagePermissions } from 'strapi-helper-plugin';
|
||||||
|
import pluginPermissions from '../../../permissions';
|
||||||
|
import RolesCreatePage from '../CreatePage';
|
||||||
|
|
||||||
|
const ProtectedRolesCreatePage = () => (
|
||||||
|
<CheckPagePermissions permissions={pluginPermissions.createRole}>
|
||||||
|
<RolesCreatePage />
|
||||||
|
</CheckPagePermissions>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default ProtectedRolesCreatePage;
|
@ -0,0 +1,12 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { CheckPagePermissions } from 'strapi-helper-plugin';
|
||||||
|
import pluginPermissions from '../../../permissions';
|
||||||
|
import RolesEditPage from '../EditPage';
|
||||||
|
|
||||||
|
const ProtectedRolesEditPage = () => (
|
||||||
|
<CheckPagePermissions permissions={pluginPermissions.updateRole}>
|
||||||
|
<RolesEditPage />
|
||||||
|
</CheckPagePermissions>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default ProtectedRolesEditPage;
|
@ -1,7 +1,45 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import { Switch, Route, Link } from 'react-router-dom';
|
||||||
|
import { useGlobalContext, CheckPagePermissions, NotFound } from 'strapi-helper-plugin';
|
||||||
|
import pluginId from '../../pluginId';
|
||||||
|
import pluginPermissions from '../../permissions';
|
||||||
|
|
||||||
const RolesPage = () => {
|
import ProtectedRolesEditPage from './ProtectedEditPage';
|
||||||
return <div>Roles</div>;
|
import ProtectedRolesCreatePage from './ProtectedCreatePage';
|
||||||
|
|
||||||
|
const RolesListPage = () => {
|
||||||
|
return (
|
||||||
|
<CheckPagePermissions permissions={pluginPermissions.accessRoles}>
|
||||||
|
<div>Role list</div>
|
||||||
|
<div>
|
||||||
|
<Link to="/settings/users-permissions/roles/1">Edit Role</Link>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Link to="/settings/users-permissions/roles/new">Create Role</Link>
|
||||||
|
</div>
|
||||||
|
</CheckPagePermissions>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default RolesPage;
|
const Roles = () => {
|
||||||
|
const { settingsBaseURL } = useGlobalContext();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Switch>
|
||||||
|
<Route
|
||||||
|
path={`${settingsBaseURL}/${pluginId}/roles/new`}
|
||||||
|
component={ProtectedRolesCreatePage}
|
||||||
|
exact
|
||||||
|
/>
|
||||||
|
<Route
|
||||||
|
path={`${settingsBaseURL}/${pluginId}/roles/:id`}
|
||||||
|
component={ProtectedRolesEditPage}
|
||||||
|
exact
|
||||||
|
/>
|
||||||
|
<Route path={`${settingsBaseURL}/${pluginId}/roles`} component={RolesListPage} exact />
|
||||||
|
<Route path="" component={NotFound} />
|
||||||
|
</Switch>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Roles;
|
||||||
|
@ -53,12 +53,8 @@ export default strapi => {
|
|||||||
},
|
},
|
||||||
name: 'roles',
|
name: 'roles',
|
||||||
to: `${strapi.settingsBaseURL}/${pluginId}/roles`,
|
to: `${strapi.settingsBaseURL}/${pluginId}/roles`,
|
||||||
Component: () => (
|
Component: () => <RolesPage />,
|
||||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
permissions: pluginPermissions.accessRoles,
|
||||||
<RolesPage />
|
|
||||||
</CheckPagePermissions>
|
|
||||||
),
|
|
||||||
permissions: pluginPermissions.settings,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
@ -68,11 +64,11 @@ export default strapi => {
|
|||||||
name: 'providers',
|
name: 'providers',
|
||||||
to: `${strapi.settingsBaseURL}/${pluginId}/providers`,
|
to: `${strapi.settingsBaseURL}/${pluginId}/providers`,
|
||||||
Component: () => (
|
Component: () => (
|
||||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
<CheckPagePermissions permissions={pluginPermissions.readProviders}>
|
||||||
<ProvidersPage />
|
<ProvidersPage />
|
||||||
</CheckPagePermissions>
|
</CheckPagePermissions>
|
||||||
),
|
),
|
||||||
permissions: pluginPermissions.settings,
|
permissions: pluginPermissions.readProviders,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
@ -82,11 +78,11 @@ export default strapi => {
|
|||||||
name: 'email-templates',
|
name: 'email-templates',
|
||||||
to: `${strapi.settingsBaseURL}/${pluginId}/email-templates`,
|
to: `${strapi.settingsBaseURL}/${pluginId}/email-templates`,
|
||||||
Component: () => (
|
Component: () => (
|
||||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
<CheckPagePermissions permissions={pluginPermissions.readEmailTemplates}>
|
||||||
<EmailTemplatesPage />
|
<EmailTemplatesPage />
|
||||||
</CheckPagePermissions>
|
</CheckPagePermissions>
|
||||||
),
|
),
|
||||||
permissions: pluginPermissions.settings,
|
permissions: pluginPermissions.readEmailTemplates,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: {
|
title: {
|
||||||
@ -96,11 +92,11 @@ export default strapi => {
|
|||||||
name: 'advanced-settings',
|
name: 'advanced-settings',
|
||||||
to: `${strapi.settingsBaseURL}/${pluginId}/advanced-settings`,
|
to: `${strapi.settingsBaseURL}/${pluginId}/advanced-settings`,
|
||||||
Component: () => (
|
Component: () => (
|
||||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
<CheckPagePermissions permissions={pluginPermissions.readAdvancedSettings}>
|
||||||
<AdvancedSettingsPage />
|
<AdvancedSettingsPage />
|
||||||
</CheckPagePermissions>
|
</CheckPagePermissions>
|
||||||
),
|
),
|
||||||
permissions: pluginPermissions.settings,
|
permissions: pluginPermissions.readAdvancedSettings,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
const pluginPermissions = {
|
const pluginPermissions = {
|
||||||
// This permission regards the main component (App) and is used to tell
|
// Roles
|
||||||
// If the plugin link should be displayed in the menu
|
accessRoles: [
|
||||||
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
{ action: 'plugins::users-permissions.roles.create', subject: null },
|
||||||
// plugin directly in the browser
|
|
||||||
main: [
|
|
||||||
{ action: 'plugins::users-permissions.advanced-settings.read', subject: null },
|
|
||||||
{ action: 'plugins::users-permissions.email-templates.read', subject: null },
|
|
||||||
{ action: 'plugins::users-permissions.providers.read', subject: null },
|
|
||||||
{ action: 'plugins::users-permissions.roles.read', subject: null },
|
{ action: 'plugins::users-permissions.roles.read', subject: null },
|
||||||
|
{ action: 'plugins::users-permissions.roles.update', subject: null },
|
||||||
],
|
],
|
||||||
createRole: [{ action: 'plugins::users-permissions.roles.create', subject: null }],
|
createRole: [{ action: 'plugins::users-permissions.roles.create', subject: null }],
|
||||||
|
deleteRole: [{ action: 'plugins::users-permissions.roles.delete', subject: null }],
|
||||||
|
readRoles: [{ action: 'plugins::users-permissions.roles.read', subject: null }],
|
||||||
|
updateRole: [{ action: 'plugins::users-permissions.roles.update', subject: null }],
|
||||||
|
|
||||||
|
// AdvancedSettings
|
||||||
readAdvancedSettings: [
|
readAdvancedSettings: [
|
||||||
{ action: 'plugins::users-permissions.advanced-settings.read', subject: null },
|
{ action: 'plugins::users-permissions.advanced-settings.read', subject: null },
|
||||||
{ action: 'plugins::users-permissions.advanced-settings.update', subject: null },
|
{ action: 'plugins::users-permissions.advanced-settings.update', subject: null },
|
||||||
@ -17,6 +18,8 @@ const pluginPermissions = {
|
|||||||
updateAdvancedSettings: [
|
updateAdvancedSettings: [
|
||||||
{ action: 'plugins::users-permissions.advanced-settings.update', subject: null },
|
{ action: 'plugins::users-permissions.advanced-settings.update', subject: null },
|
||||||
],
|
],
|
||||||
|
|
||||||
|
// Emails
|
||||||
readEmailTemplates: [
|
readEmailTemplates: [
|
||||||
{ action: 'plugins::users-permissions.email-templates.read', subject: null },
|
{ action: 'plugins::users-permissions.email-templates.read', subject: null },
|
||||||
{ action: 'plugins::users-permissions.email-templates.update', subject: null },
|
{ action: 'plugins::users-permissions.email-templates.update', subject: null },
|
||||||
@ -24,17 +27,13 @@ const pluginPermissions = {
|
|||||||
updateEmailTemplates: [
|
updateEmailTemplates: [
|
||||||
{ action: 'plugins::users-permissions.email-templates.update', subject: null },
|
{ action: 'plugins::users-permissions.email-templates.update', subject: null },
|
||||||
],
|
],
|
||||||
|
|
||||||
|
// Providers
|
||||||
readProviders: [
|
readProviders: [
|
||||||
{ action: 'plugins::users-permissions.providers.read', subject: null },
|
{ action: 'plugins::users-permissions.providers.read', subject: null },
|
||||||
{ action: 'plugins::users-permissions.providers.update', subject: null },
|
{ action: 'plugins::users-permissions.providers.update', subject: null },
|
||||||
],
|
],
|
||||||
updateProviders: [{ action: 'plugins::users-permissions.providers.update', subject: null }],
|
updateProviders: [{ action: 'plugins::users-permissions.providers.update', subject: null }],
|
||||||
readRoles: [
|
|
||||||
{ action: 'plugins::users-permissions.roles.read', subject: null },
|
|
||||||
{ action: 'plugins::users-permissions.roles.update', subject: null },
|
|
||||||
],
|
|
||||||
updateRole: [{ action: 'plugins::users-permissions.roles.update', subject: null }],
|
|
||||||
deleteRole: [{ action: 'plugins::users-permissions.roles.delete', subject: null }],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default pluginPermissions;
|
export default pluginPermissions;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user