mirror of
https://github.com/strapi/strapi.git
synced 2025-09-22 14:59:07 +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 { 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 = () => {
|
||||
return <div>Roles</div>;
|
||||
import ProtectedRolesEditPage from './ProtectedEditPage';
|
||||
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',
|
||||
to: `${strapi.settingsBaseURL}/${pluginId}/roles`,
|
||||
Component: () => (
|
||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
||||
<RolesPage />
|
||||
</CheckPagePermissions>
|
||||
),
|
||||
permissions: pluginPermissions.settings,
|
||||
Component: () => <RolesPage />,
|
||||
permissions: pluginPermissions.accessRoles,
|
||||
},
|
||||
{
|
||||
title: {
|
||||
@ -68,11 +64,11 @@ export default strapi => {
|
||||
name: 'providers',
|
||||
to: `${strapi.settingsBaseURL}/${pluginId}/providers`,
|
||||
Component: () => (
|
||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
||||
<CheckPagePermissions permissions={pluginPermissions.readProviders}>
|
||||
<ProvidersPage />
|
||||
</CheckPagePermissions>
|
||||
),
|
||||
permissions: pluginPermissions.settings,
|
||||
permissions: pluginPermissions.readProviders,
|
||||
},
|
||||
{
|
||||
title: {
|
||||
@ -82,11 +78,11 @@ export default strapi => {
|
||||
name: 'email-templates',
|
||||
to: `${strapi.settingsBaseURL}/${pluginId}/email-templates`,
|
||||
Component: () => (
|
||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
||||
<CheckPagePermissions permissions={pluginPermissions.readEmailTemplates}>
|
||||
<EmailTemplatesPage />
|
||||
</CheckPagePermissions>
|
||||
),
|
||||
permissions: pluginPermissions.settings,
|
||||
permissions: pluginPermissions.readEmailTemplates,
|
||||
},
|
||||
{
|
||||
title: {
|
||||
@ -96,11 +92,11 @@ export default strapi => {
|
||||
name: 'advanced-settings',
|
||||
to: `${strapi.settingsBaseURL}/${pluginId}/advanced-settings`,
|
||||
Component: () => (
|
||||
<CheckPagePermissions permissions={pluginPermissions.settings}>
|
||||
<CheckPagePermissions permissions={pluginPermissions.readAdvancedSettings}>
|
||||
<AdvancedSettingsPage />
|
||||
</CheckPagePermissions>
|
||||
),
|
||||
permissions: pluginPermissions.settings,
|
||||
permissions: pluginPermissions.readAdvancedSettings,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -1,15 +1,16 @@
|
||||
const pluginPermissions = {
|
||||
// This permission regards the main component (App) and is used to tell
|
||||
// If the plugin link should be displayed in the menu
|
||||
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
||||
// 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 },
|
||||
// Roles
|
||||
accessRoles: [
|
||||
{ action: 'plugins::users-permissions.roles.create', 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 }],
|
||||
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: [
|
||||
{ action: 'plugins::users-permissions.advanced-settings.read', subject: null },
|
||||
{ action: 'plugins::users-permissions.advanced-settings.update', subject: null },
|
||||
@ -17,6 +18,8 @@ const pluginPermissions = {
|
||||
updateAdvancedSettings: [
|
||||
{ action: 'plugins::users-permissions.advanced-settings.update', subject: null },
|
||||
],
|
||||
|
||||
// Emails
|
||||
readEmailTemplates: [
|
||||
{ action: 'plugins::users-permissions.email-templates.read', subject: null },
|
||||
{ action: 'plugins::users-permissions.email-templates.update', subject: null },
|
||||
@ -24,17 +27,13 @@ const pluginPermissions = {
|
||||
updateEmailTemplates: [
|
||||
{ action: 'plugins::users-permissions.email-templates.update', subject: null },
|
||||
],
|
||||
|
||||
// Providers
|
||||
readProviders: [
|
||||
{ action: 'plugins::users-permissions.providers.read', subject: null },
|
||||
{ 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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user