@strapi/plugin-users-permissions 0.0.0-next.c58b405b44c71a93df733024d1f15c069cb6bdca → 0.0.0-next.de5394e73076ccf7aca1e28dc68894e3c43f8b91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/components/BoundRoute/index.js +5 -3
- package/admin/src/components/FormModal/Input/index.js +6 -3
- package/admin/src/components/FormModal/index.js +13 -10
- package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.js +1 -1
- package/admin/src/components/Permissions/PermissionRow/SubCategory.js +26 -5
- package/admin/src/components/Permissions/PermissionRow/index.js +4 -2
- package/admin/src/components/Permissions/index.js +5 -2
- package/admin/src/components/Policies/index.js +3 -2
- package/admin/src/components/UsersPermissions/index.js +8 -5
- package/admin/src/contexts/UsersPermissionsContext/index.js +1 -0
- package/admin/src/hooks/index.js +1 -1
- package/admin/src/hooks/useFetchRole/index.js +6 -3
- package/admin/src/hooks/useForm/index.js +7 -7
- package/admin/src/hooks/usePlugins.js +71 -0
- package/admin/src/hooks/useRolesList/index.js +22 -20
- package/admin/src/index.js +2 -0
- package/admin/src/pages/AdvancedSettings/index.js +21 -18
- package/admin/src/pages/AdvancedSettings/utils/api.js +1 -0
- package/admin/src/pages/AdvancedSettings/utils/schema.js +1 -1
- package/admin/src/pages/EmailTemplates/components/EmailForm.js +14 -13
- package/admin/src/pages/EmailTemplates/components/EmailTable.js +9 -7
- package/admin/src/pages/EmailTemplates/index.js +12 -9
- package/admin/src/pages/EmailTemplates/utils/api.js +1 -0
- package/admin/src/pages/EmailTemplates/utils/schema.js +1 -1
- package/admin/src/pages/Providers/index.js +29 -26
- package/admin/src/pages/Providers/utils/api.js +1 -0
- package/admin/src/pages/Providers/utils/forms.js +1 -1
- package/admin/src/pages/Roles/{CreatePage/index.js → CreatePage.js} +26 -23
- package/admin/src/pages/Roles/{EditPage/index.js → EditPage.js} +23 -20
- package/admin/src/pages/Roles/ListPage/components/TableBody.js +4 -3
- package/admin/src/pages/Roles/ListPage/index.js +38 -19
- package/admin/src/pages/Roles/ListPage/utils/api.js +2 -1
- package/admin/src/pages/Roles/{ProtectedCreatePage/index.js → ProtectedCreatePage.js} +5 -2
- package/admin/src/pages/Roles/{ProtectedEditPage/index.js → ProtectedEditPage.js} +5 -2
- package/admin/src/pages/Roles/{ProtectedListPage/index.js → ProtectedListPage.js} +4 -2
- package/admin/src/pages/Roles/{CreatePage/utils/schema.js → constants.js} +2 -4
- package/admin/src/pages/Roles/index.js +9 -6
- package/admin/src/translations/ru.json +50 -26
- package/admin/src/utils/index.js +1 -1
- package/documentation/content-api.yaml +22 -14
- package/jest.config.front.js +2 -0
- package/package.json +17 -21
- package/server/controllers/auth.js +6 -0
- package/server/register.js +7 -1
- package/server/services/providers-registry.js +1 -1
- package/admin/src/hooks/usePlugins/index.js +0 -67
- package/admin/src/hooks/usePlugins/init.js +0 -5
- package/admin/src/hooks/usePlugins/reducer.js +0 -34
- package/admin/src/pages/Roles/EditPage/utils/schema.js +0 -9
|
@@ -1,43 +1,46 @@
|
|
|
1
1
|
import React, { useMemo, useRef, useState } from 'react';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
SettingsPageTitle,
|
|
5
|
-
LoadingIndicatorPage,
|
|
6
|
-
useTracking,
|
|
7
|
-
useNotification,
|
|
8
|
-
useOverlayBlocker,
|
|
9
|
-
CheckPagePermissions,
|
|
10
|
-
useRBAC,
|
|
11
|
-
useFocusWhenNavigate,
|
|
12
|
-
onRowClick,
|
|
13
|
-
stopPropagation,
|
|
14
|
-
} from '@strapi/helper-plugin';
|
|
15
|
-
import has from 'lodash/has';
|
|
16
|
-
import upperFirst from 'lodash/upperFirst';
|
|
2
|
+
|
|
17
3
|
import {
|
|
4
|
+
ContentLayout,
|
|
18
5
|
HeaderLayout,
|
|
6
|
+
IconButton,
|
|
19
7
|
Layout,
|
|
20
|
-
ContentLayout,
|
|
21
8
|
Main,
|
|
22
|
-
useNotifyAT,
|
|
23
9
|
Table,
|
|
24
|
-
Thead,
|
|
25
|
-
Tr,
|
|
26
|
-
Th,
|
|
27
10
|
Tbody,
|
|
28
11
|
Td,
|
|
12
|
+
Th,
|
|
13
|
+
Thead,
|
|
14
|
+
Tr,
|
|
29
15
|
Typography,
|
|
30
|
-
|
|
16
|
+
useNotifyAT,
|
|
31
17
|
VisuallyHidden,
|
|
32
18
|
} from '@strapi/design-system';
|
|
19
|
+
import {
|
|
20
|
+
CheckPagePermissions,
|
|
21
|
+
LoadingIndicatorPage,
|
|
22
|
+
onRowClick,
|
|
23
|
+
SettingsPageTitle,
|
|
24
|
+
stopPropagation,
|
|
25
|
+
useFocusWhenNavigate,
|
|
26
|
+
useNotification,
|
|
27
|
+
useOverlayBlocker,
|
|
28
|
+
useRBAC,
|
|
29
|
+
useTracking,
|
|
30
|
+
} from '@strapi/helper-plugin';
|
|
33
31
|
import { Pencil } from '@strapi/icons';
|
|
34
|
-
import
|
|
35
|
-
import
|
|
32
|
+
import has from 'lodash/has';
|
|
33
|
+
import upperFirst from 'lodash/upperFirst';
|
|
34
|
+
import { useIntl } from 'react-intl';
|
|
35
|
+
import { useMutation, useQuery, useQueryClient } from 'react-query';
|
|
36
|
+
|
|
37
|
+
import FormModal from '../../components/FormModal';
|
|
38
|
+
import pluginPermissions from '../../permissions';
|
|
39
|
+
import { getTrad } from '../../utils';
|
|
40
|
+
|
|
36
41
|
import { fetchData, putProvider } from './utils/api';
|
|
37
42
|
import createProvidersArray from './utils/createProvidersArray';
|
|
38
|
-
import
|
|
39
|
-
import pluginPermissions from '../../permissions';
|
|
40
|
-
import FormModal from '../../components/FormModal';
|
|
43
|
+
import forms from './utils/forms';
|
|
41
44
|
|
|
42
45
|
export const ProvidersPage = () => {
|
|
43
46
|
const { formatMessage } = useIntl();
|
|
@@ -1,36 +1,39 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
|
|
1
|
+
import React, { useRef, useState } from 'react';
|
|
2
|
+
|
|
3
3
|
import {
|
|
4
|
+
Box,
|
|
5
|
+
Button,
|
|
4
6
|
ContentLayout,
|
|
7
|
+
Flex,
|
|
8
|
+
Grid,
|
|
9
|
+
GridItem,
|
|
5
10
|
HeaderLayout,
|
|
6
11
|
Main,
|
|
7
|
-
Button,
|
|
8
|
-
Flex,
|
|
9
|
-
Box,
|
|
10
|
-
TextInput,
|
|
11
12
|
Textarea,
|
|
13
|
+
TextInput,
|
|
12
14
|
Typography,
|
|
13
|
-
GridItem,
|
|
14
|
-
Grid,
|
|
15
15
|
} from '@strapi/design-system';
|
|
16
|
-
import { Check } from '@strapi/icons';
|
|
17
|
-
import { Formik } from 'formik';
|
|
18
|
-
import { useIntl } from 'react-intl';
|
|
19
16
|
import {
|
|
20
|
-
|
|
17
|
+
Form,
|
|
21
18
|
SettingsPageTitle,
|
|
22
19
|
useFetchClient,
|
|
23
|
-
useTracking,
|
|
24
|
-
Form,
|
|
25
20
|
useNotification,
|
|
21
|
+
useOverlayBlocker,
|
|
22
|
+
useTracking,
|
|
26
23
|
} from '@strapi/helper-plugin';
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import {
|
|
31
|
-
|
|
24
|
+
import { Check } from '@strapi/icons';
|
|
25
|
+
import { Formik } from 'formik';
|
|
26
|
+
import { useIntl } from 'react-intl';
|
|
27
|
+
import { useHistory } from 'react-router-dom';
|
|
28
|
+
|
|
29
|
+
import UsersPermissions from '../../components/UsersPermissions';
|
|
30
|
+
import { usePlugins } from '../../hooks';
|
|
31
|
+
import pluginId from '../../pluginId';
|
|
32
|
+
import getTrad from '../../utils/getTrad';
|
|
33
|
+
|
|
34
|
+
import { createRoleSchema } from './constants';
|
|
32
35
|
|
|
33
|
-
const
|
|
36
|
+
const CreatePage = () => {
|
|
34
37
|
const { formatMessage } = useIntl();
|
|
35
38
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
36
39
|
const toggleNotification = useNotification();
|
|
@@ -82,7 +85,7 @@ const EditPage = () => {
|
|
|
82
85
|
enableReinitialize
|
|
83
86
|
initialValues={{ name: '', description: '' }}
|
|
84
87
|
onSubmit={handleCreateRoleSubmit}
|
|
85
|
-
validationSchema={
|
|
88
|
+
validationSchema={createRoleSchema}
|
|
86
89
|
>
|
|
87
90
|
{({ handleSubmit, values, handleChange, errors }) => (
|
|
88
91
|
<Form noValidate onSubmit={handleSubmit}>
|
|
@@ -143,7 +146,7 @@ const EditPage = () => {
|
|
|
143
146
|
</GridItem>
|
|
144
147
|
<GridItem col={6}>
|
|
145
148
|
<Textarea
|
|
146
|
-
|
|
149
|
+
id="description"
|
|
147
150
|
value={values.description || ''}
|
|
148
151
|
onChange={handleChange}
|
|
149
152
|
label={formatMessage({
|
|
@@ -179,4 +182,4 @@ const EditPage = () => {
|
|
|
179
182
|
);
|
|
180
183
|
};
|
|
181
184
|
|
|
182
|
-
export default
|
|
185
|
+
export default CreatePage;
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
|
|
3
|
-
import { useIntl } from 'react-intl';
|
|
4
|
-
import { useRouteMatch } from 'react-router-dom';
|
|
5
|
-
import {
|
|
6
|
-
useFetchClient,
|
|
7
|
-
useOverlayBlocker,
|
|
8
|
-
SettingsPageTitle,
|
|
9
|
-
LoadingIndicatorPage,
|
|
10
|
-
Form,
|
|
11
|
-
useNotification,
|
|
12
|
-
Link,
|
|
13
|
-
} from '@strapi/helper-plugin';
|
|
1
|
+
import React, { useRef, useState } from 'react';
|
|
2
|
+
|
|
14
3
|
import {
|
|
15
4
|
ContentLayout,
|
|
16
5
|
HeaderLayout,
|
|
@@ -24,12 +13,26 @@ import {
|
|
|
24
13
|
GridItem,
|
|
25
14
|
Grid,
|
|
26
15
|
} from '@strapi/design-system';
|
|
16
|
+
import {
|
|
17
|
+
useFetchClient,
|
|
18
|
+
useOverlayBlocker,
|
|
19
|
+
SettingsPageTitle,
|
|
20
|
+
LoadingIndicatorPage,
|
|
21
|
+
Form,
|
|
22
|
+
useNotification,
|
|
23
|
+
Link,
|
|
24
|
+
} from '@strapi/helper-plugin';
|
|
27
25
|
import { ArrowLeft, Check } from '@strapi/icons';
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
|
|
32
|
-
import
|
|
26
|
+
import { Formik } from 'formik';
|
|
27
|
+
import { useIntl } from 'react-intl';
|
|
28
|
+
import { useRouteMatch } from 'react-router-dom';
|
|
29
|
+
|
|
30
|
+
import UsersPermissions from '../../components/UsersPermissions';
|
|
31
|
+
import { usePlugins, useFetchRole } from '../../hooks';
|
|
32
|
+
import pluginId from '../../pluginId';
|
|
33
|
+
import getTrad from '../../utils/getTrad';
|
|
34
|
+
|
|
35
|
+
import { createRoleSchema } from './constants';
|
|
33
36
|
|
|
34
37
|
const EditPage = () => {
|
|
35
38
|
const { formatMessage } = useIntl();
|
|
@@ -87,7 +90,7 @@ const EditPage = () => {
|
|
|
87
90
|
enableReinitialize
|
|
88
91
|
initialValues={{ name: role.name, description: role.description }}
|
|
89
92
|
onSubmit={handleEditRoleSubmit}
|
|
90
|
-
validationSchema={
|
|
93
|
+
validationSchema={createRoleSchema}
|
|
91
94
|
>
|
|
92
95
|
{({ handleSubmit, values, handleChange, errors }) => (
|
|
93
96
|
<Form noValidate onSubmit={handleSubmit}>
|
|
@@ -155,7 +158,7 @@ const EditPage = () => {
|
|
|
155
158
|
</GridItem>
|
|
156
159
|
<GridItem col={6}>
|
|
157
160
|
<Textarea
|
|
158
|
-
|
|
161
|
+
id="description"
|
|
159
162
|
value={values.description || ''}
|
|
160
163
|
onChange={handleChange}
|
|
161
164
|
label={formatMessage({
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import { Pencil, Trash } from '@strapi/icons';
|
|
2
|
+
|
|
3
|
+
import { Flex, IconButton, Tbody, Td, Tr, Typography } from '@strapi/design-system';
|
|
5
4
|
import { CheckPermissions, onRowClick, stopPropagation } from '@strapi/helper-plugin';
|
|
5
|
+
import { Pencil, Trash } from '@strapi/icons';
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
6
7
|
import { useIntl } from 'react-intl';
|
|
7
8
|
import { useHistory } from 'react-router-dom';
|
|
8
9
|
|
|
@@ -1,48 +1,51 @@
|
|
|
1
1
|
import React, { useMemo, useState } from 'react';
|
|
2
|
+
|
|
2
3
|
import {
|
|
4
|
+
ActionLayout,
|
|
3
5
|
Button,
|
|
6
|
+
ContentLayout,
|
|
4
7
|
HeaderLayout,
|
|
5
8
|
Layout,
|
|
6
|
-
ContentLayout,
|
|
7
|
-
ActionLayout,
|
|
8
9
|
Main,
|
|
9
10
|
Table,
|
|
10
|
-
Tr,
|
|
11
|
-
Thead,
|
|
12
11
|
Th,
|
|
12
|
+
Thead,
|
|
13
|
+
Tr,
|
|
13
14
|
Typography,
|
|
14
15
|
useNotifyAT,
|
|
15
16
|
VisuallyHidden,
|
|
16
17
|
} from '@strapi/design-system';
|
|
17
|
-
import { Plus } from '@strapi/icons';
|
|
18
18
|
import {
|
|
19
|
-
useTracking,
|
|
20
|
-
SettingsPageTitle,
|
|
21
19
|
CheckPermissions,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
NoPermissions,
|
|
20
|
+
ConfirmDialog,
|
|
21
|
+
EmptyStateLayout,
|
|
25
22
|
LoadingIndicatorPage,
|
|
23
|
+
NoPermissions,
|
|
26
24
|
SearchURLQuery,
|
|
25
|
+
SettingsPageTitle,
|
|
26
|
+
useCollator,
|
|
27
|
+
useFilter,
|
|
27
28
|
useFocusWhenNavigate,
|
|
29
|
+
useNotification,
|
|
28
30
|
useQueryParams,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
useRBAC,
|
|
32
|
+
useTracking,
|
|
31
33
|
} from '@strapi/helper-plugin';
|
|
34
|
+
import { Plus } from '@strapi/icons';
|
|
32
35
|
import { useIntl } from 'react-intl';
|
|
33
|
-
import { useHistory } from 'react-router-dom';
|
|
34
36
|
import { useMutation, useQuery, useQueryClient } from 'react-query';
|
|
35
|
-
import
|
|
37
|
+
import { useHistory } from 'react-router-dom';
|
|
36
38
|
|
|
37
|
-
import { fetchData, deleteData } from './utils/api';
|
|
38
|
-
import { getTrad } from '../../../utils';
|
|
39
|
-
import pluginId from '../../../pluginId';
|
|
40
39
|
import permissions from '../../../permissions';
|
|
40
|
+
import pluginId from '../../../pluginId';
|
|
41
|
+
import { getTrad } from '../../../utils';
|
|
42
|
+
|
|
41
43
|
import TableBody from './components/TableBody';
|
|
44
|
+
import { deleteData, fetchData } from './utils/api';
|
|
42
45
|
|
|
43
46
|
const RoleListPage = () => {
|
|
44
47
|
const { trackUsage } = useTracking();
|
|
45
|
-
const { formatMessage } = useIntl();
|
|
48
|
+
const { formatMessage, locale } = useIntl();
|
|
46
49
|
const { push } = useHistory();
|
|
47
50
|
const toggleNotification = useNotification();
|
|
48
51
|
const { notifyStatus } = useNotifyAT();
|
|
@@ -78,6 +81,17 @@ const RoleListPage = () => {
|
|
|
78
81
|
enabled: canRead,
|
|
79
82
|
});
|
|
80
83
|
|
|
84
|
+
const { includes } = useFilter(locale, {
|
|
85
|
+
sensitivity: 'base',
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @type {Intl.Collator}
|
|
90
|
+
*/
|
|
91
|
+
const formatter = useCollator(locale, {
|
|
92
|
+
sensitivity: 'base',
|
|
93
|
+
});
|
|
94
|
+
|
|
81
95
|
const isLoading = isLoadingForData || isFetching;
|
|
82
96
|
|
|
83
97
|
const handleNewRoleClick = () => {
|
|
@@ -118,7 +132,12 @@ const RoleListPage = () => {
|
|
|
118
132
|
setIsConfirmButtonLoading(false);
|
|
119
133
|
};
|
|
120
134
|
|
|
121
|
-
const sortedRoles =
|
|
135
|
+
const sortedRoles = (roles || [])
|
|
136
|
+
.filter((role) => includes(role.name, _q) || includes(role.description, _q))
|
|
137
|
+
.sort(
|
|
138
|
+
(a, b) => formatter.compare(a.name, b.name) || formatter.compare(a.description, b.description)
|
|
139
|
+
);
|
|
140
|
+
|
|
122
141
|
const emptyContent = _q && !sortedRoles.length ? 'search' : 'roles';
|
|
123
142
|
|
|
124
143
|
const colCount = 4;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getFetchClient } from '@strapi/helper-plugin';
|
|
2
|
+
|
|
2
3
|
import { getRequestURL } from '../../../../utils';
|
|
3
4
|
|
|
4
5
|
export const fetchData = async (toggleNotification, notifyStatus) => {
|
|
@@ -14,7 +15,7 @@ export const fetchData = async (toggleNotification, notifyStatus) => {
|
|
|
14
15
|
message: { id: 'notification.error' },
|
|
15
16
|
});
|
|
16
17
|
|
|
17
|
-
throw new Error(
|
|
18
|
+
throw new Error(err);
|
|
18
19
|
}
|
|
19
20
|
};
|
|
20
21
|
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
|
|
2
3
|
import { CheckPagePermissions } from '@strapi/helper-plugin';
|
|
3
|
-
|
|
4
|
-
import
|
|
4
|
+
|
|
5
|
+
import pluginPermissions from '../../permissions';
|
|
6
|
+
|
|
7
|
+
import RolesCreatePage from './CreatePage';
|
|
5
8
|
|
|
6
9
|
const ProtectedRolesCreatePage = () => (
|
|
7
10
|
<CheckPagePermissions permissions={pluginPermissions.createRole}>
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
|
|
2
3
|
import { CheckPagePermissions } from '@strapi/helper-plugin';
|
|
3
|
-
|
|
4
|
-
import
|
|
4
|
+
|
|
5
|
+
import pluginPermissions from '../../permissions';
|
|
6
|
+
|
|
7
|
+
import RolesEditPage from './EditPage';
|
|
5
8
|
|
|
6
9
|
const ProtectedRolesEditPage = () => (
|
|
7
10
|
<CheckPagePermissions permissions={pluginPermissions.updateRole}>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
|
|
2
3
|
import { CheckPagePermissions } from '@strapi/helper-plugin';
|
|
3
|
-
import pluginPermissions from '../../../permissions';
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import pluginPermissions from '../../permissions';
|
|
6
|
+
|
|
7
|
+
import RolesListPage from './ListPage';
|
|
6
8
|
|
|
7
9
|
const ProtectedRolesListPage = () => {
|
|
8
10
|
return (
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import * as yup from 'yup';
|
|
2
1
|
import { translatedErrors } from '@strapi/helper-plugin';
|
|
2
|
+
import * as yup from 'yup';
|
|
3
3
|
|
|
4
|
-
const
|
|
4
|
+
export const createRoleSchema = yup.object().shape({
|
|
5
5
|
name: yup.string().required(translatedErrors.required),
|
|
6
6
|
description: yup.string().required(translatedErrors.required),
|
|
7
7
|
});
|
|
8
|
-
|
|
9
|
-
export default schema;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
2
|
+
|
|
3
|
+
import { AnErrorOccurred, CheckPagePermissions } from '@strapi/helper-plugin';
|
|
4
|
+
import { Route, Switch } from 'react-router-dom';
|
|
5
|
+
|
|
5
6
|
import pluginPermissions from '../../permissions';
|
|
6
|
-
import
|
|
7
|
-
|
|
7
|
+
import pluginId from '../../pluginId';
|
|
8
|
+
|
|
8
9
|
import ProtectedRolesCreatePage from './ProtectedCreatePage';
|
|
10
|
+
import ProtectedRolesEditPage from './ProtectedEditPage';
|
|
11
|
+
import ProtectedRolesListPage from './ProtectedListPage';
|
|
9
12
|
|
|
10
13
|
const Roles = () => {
|
|
11
14
|
return (
|
|
@@ -18,7 +21,7 @@ const Roles = () => {
|
|
|
18
21
|
/>
|
|
19
22
|
<Route path={`/settings/${pluginId}/roles/:id`} component={ProtectedRolesEditPage} exact />
|
|
20
23
|
<Route path={`/settings/${pluginId}/roles`} component={ProtectedRolesListPage} exact />
|
|
21
|
-
<Route path="" component={
|
|
24
|
+
<Route path="" component={AnErrorOccurred} />
|
|
22
25
|
</Switch>
|
|
23
26
|
</CheckPagePermissions>
|
|
24
27
|
);
|
|
@@ -2,55 +2,79 @@
|
|
|
2
2
|
"BoundRoute.title": "Связать путь с",
|
|
3
3
|
"EditForm.inputSelect.description.role": "При регистрации пользователи будут иметь выбранную роль.",
|
|
4
4
|
"EditForm.inputSelect.label.role": "Роль по умолчанию для новых пользователей",
|
|
5
|
-
"EditForm.inputToggle.description.email": "Запретить пользователю создавать несколько
|
|
5
|
+
"EditForm.inputToggle.description.email": "Запретить пользователю создавать несколько учётных записей, используя один и тот же адрес электронной почты, у разных поставщиков аутентификации.",
|
|
6
6
|
"EditForm.inputToggle.description.email-confirmation": "Если включено (ON), при регистрации пользователи будут получать письмо для подтверждения адреса электронной почты.",
|
|
7
|
-
"EditForm.inputToggle.description.email-confirmation-redirection": "Укажите URL-адрес для перенаправления после подтверждения адреса электронной почты.",
|
|
8
|
-
"EditForm.inputToggle.description.email-reset-password": "URL-адрес страницы сброса пароля
|
|
9
|
-
"EditForm.inputToggle.description.sign-up": "
|
|
10
|
-
"EditForm.inputToggle.label.email": "Одна
|
|
7
|
+
"EditForm.inputToggle.description.email-confirmation-redirection": "Укажите URL-адрес для перенаправления пользователей после подтверждения адреса электронной почты.",
|
|
8
|
+
"EditForm.inputToggle.description.email-reset-password": "URL-адрес страницы для сброса пароля учётной записи пользователя",
|
|
9
|
+
"EditForm.inputToggle.description.sign-up": "Если выключено (OFF), процесс регистрации пользователей запрещен. Никто не может зарегистрироваться, независимо от провайдера.",
|
|
10
|
+
"EditForm.inputToggle.label.email": "Одна учётная запись на один адрес электронной почты",
|
|
11
11
|
"EditForm.inputToggle.label.email-confirmation": "Включить подтверждение по электронной почте",
|
|
12
12
|
"EditForm.inputToggle.label.email-confirmation-redirection": "URL-адрес для перенаправления",
|
|
13
13
|
"EditForm.inputToggle.label.email-reset-password": "Страница сброса пароля",
|
|
14
|
-
"EditForm.inputToggle.label.sign-up": "Включить
|
|
15
|
-
"
|
|
14
|
+
"EditForm.inputToggle.label.sign-up": "Включить регистрации",
|
|
15
|
+
"EditForm.inputToggle.placeholder.email-confirmation-redirection": "например: https://yourfrontend.com/email-confirmation-redirection",
|
|
16
|
+
"EditForm.inputToggle.placeholder.email-reset-password": "например: https://yourfrontend.com/reset-password",
|
|
17
|
+
"EditPage.form.roles": "Сведения о роли",
|
|
18
|
+
"Email.template.data.loaded": "Шаблоны автоматических писем для электронной почты были загружены",
|
|
19
|
+
"Email.template.email_confirmation": "Адреса электронной почты с письмом о подтверждении",
|
|
20
|
+
"Email.template.form.edit.label": "Редактировать шаблон",
|
|
21
|
+
"Email.template.table.action.label": "действие",
|
|
22
|
+
"Email.template.table.icon.label": "иконка",
|
|
23
|
+
"Email.template.table.name.label": "название",
|
|
24
|
+
"Form.advancedSettings.data.loaded": "Данные расширенных настроек были загружены",
|
|
16
25
|
"HeaderNav.link.advancedSettings": "Расширенные настройки",
|
|
17
26
|
"HeaderNav.link.emailTemplates": "Шаблоны писем",
|
|
18
27
|
"HeaderNav.link.providers": "Провайдеры",
|
|
19
|
-
"Plugin.permissions.plugins.description": "
|
|
20
|
-
"Plugins.header.description": "
|
|
21
|
-
"Plugins.header.title": "
|
|
22
|
-
"Policies.header.hint": "Выберите действия приложения или плагина и
|
|
28
|
+
"Plugin.permissions.plugins.description": "Определите все разрешенные действия для плагина {name}.",
|
|
29
|
+
"Plugins.header.description": "Ниже перечислены только действия, связанные с путём.",
|
|
30
|
+
"Plugins.header.title": "Разрешения",
|
|
31
|
+
"Policies.header.hint": "Выберите действия приложения или плагина и нажмите на значок шестерёнки, чтобы отобразить связанный путь",
|
|
23
32
|
"Policies.header.title": "Расширенные настройки",
|
|
24
|
-
"PopUpForm.Email.email_templates.inputDescription": "Если вы не
|
|
33
|
+
"PopUpForm.Email.email_templates.inputDescription": "Если вы не уверены, как использовать переменные — {link}",
|
|
25
34
|
"PopUpForm.Email.link.documentation": "ознакомьтесь с нашей документацией.",
|
|
26
|
-
"PopUpForm.Email.options.from.email.label": "
|
|
35
|
+
"PopUpForm.Email.options.from.email.label": "Электронная почта отправителя",
|
|
27
36
|
"PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
|
|
28
37
|
"PopUpForm.Email.options.from.name.label": "Имя отправителя",
|
|
29
38
|
"PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
|
|
30
39
|
"PopUpForm.Email.options.message.label": "Сообщение",
|
|
31
40
|
"PopUpForm.Email.options.object.label": "Тема",
|
|
32
41
|
"PopUpForm.Email.options.object.placeholder": "Пожалуйста, подтвердите свой адрес электронной почты для %APP_NAME%",
|
|
33
|
-
"PopUpForm.Email.options.response_email.label": "
|
|
34
|
-
"PopUpForm.Email.options.response_email.placeholder": "
|
|
35
|
-
"PopUpForm.Providers.enabled.description": "Если
|
|
36
|
-
"PopUpForm.Providers.enabled.label": "
|
|
37
|
-
"PopUpForm.Providers.key.label": "
|
|
42
|
+
"PopUpForm.Email.options.response_email.label": "Электронная почта для ответов",
|
|
43
|
+
"PopUpForm.Email.options.response_email.placeholder": "paul@example.com",
|
|
44
|
+
"PopUpForm.Providers.enabled.description": "Если этот параметр отключен, пользователи не смогут использовать этого поставщика.",
|
|
45
|
+
"PopUpForm.Providers.enabled.label": "Включено",
|
|
46
|
+
"PopUpForm.Providers.key.label": "ID клиента",
|
|
38
47
|
"PopUpForm.Providers.key.placeholder": "TEXT",
|
|
39
|
-
"PopUpForm.Providers.redirectURL.front-end.label": "URL-адрес перенаправления
|
|
40
|
-
"PopUpForm.Providers.redirectURL.label": "URL перенаправления, который нужно добавить в {provider} конфигурации приложения",
|
|
48
|
+
"PopUpForm.Providers.redirectURL.front-end.label": "URL-адрес перенаправления на ваше приложение",
|
|
49
|
+
"PopUpForm.Providers.redirectURL.label": "URL-адрес перенаправления, который нужно добавить в {provider} конфигурации приложения",
|
|
41
50
|
"PopUpForm.Providers.secret.label": "Client Secret",
|
|
42
51
|
"PopUpForm.Providers.secret.placeholder": "TEXT",
|
|
43
|
-
"PopUpForm.Providers.subdomain.label": "
|
|
52
|
+
"PopUpForm.Providers.subdomain.label": "Хост URI (Поддомен)",
|
|
44
53
|
"PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
|
|
45
54
|
"PopUpForm.header.edit.email-templates": "Редактировать шаблон письма",
|
|
46
55
|
"PopUpForm.header.edit.providers": "Редактировать провайдера",
|
|
56
|
+
"Providers.data.loaded": "Провайдеры были загружены",
|
|
57
|
+
"Providers.status": "Статус",
|
|
58
|
+
"Roles.empty": "У вас пока нет никаких ролей.",
|
|
59
|
+
"Roles.empty.search": "Ни одна роль не соответствует поисковому запросу.",
|
|
47
60
|
"Settings.roles.deleted": "Роль удалена",
|
|
48
61
|
"Settings.roles.edited": "Роль отредактирована",
|
|
49
|
-
"Settings.section-label": "Плагин
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
62
|
+
"Settings.section-label": "Плагин «Пользователи и Разрешения»",
|
|
63
|
+
"components.Input.error.validation.email": "Неверный адрес электронной почты",
|
|
64
|
+
"components.Input.error.validation.json": "Это не соответствует формату JSON",
|
|
65
|
+
"components.Input.error.validation.max": "Значение слишком велико.",
|
|
66
|
+
"components.Input.error.validation.maxLength": "Значение слишком длинное.",
|
|
67
|
+
"components.Input.error.validation.min": "Значение слишком мало.",
|
|
68
|
+
"components.Input.error.validation.minLength": "Значение слишком короткое.",
|
|
69
|
+
"components.Input.error.validation.minSupMax": "Не может быть выше",
|
|
70
|
+
"components.Input.error.validation.regex": "Значение не соответствует регулярному выражению.",
|
|
71
|
+
"components.Input.error.validation.required": "Это значение является обязательным.",
|
|
72
|
+
"components.Input.error.validation.unique": "Это значение уже используется.",
|
|
73
|
+
"notification.success.submit": "Настройки были обновлены",
|
|
74
|
+
"page.title": "Настройки — Роли",
|
|
75
|
+
"plugin.description.long": "Защитите свой API с помощью полноценного процесса аутентификации, основанного на JWT. Этот плагин также имеет настройки стратегии ACL, которые позволяют вам управлять разрешениями между группами пользователей.",
|
|
76
|
+
"plugin.description.short": "Защитите свой API с помощью полноценного процесса аутентификации, основанного на JWT.",
|
|
77
|
+
"plugin.name": "Пользователи и Разрешения",
|
|
54
78
|
"popUpWarning.button.cancel": "Отменить",
|
|
55
79
|
"popUpWarning.button.confirm": "Подтвердить",
|
|
56
80
|
"popUpWarning.title": "Пожалуйста подтвердите",
|
package/admin/src/utils/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as cleanPermissions } from './cleanPermissions';
|
|
2
|
+
export { default as formatPolicies } from './formatPolicies';
|
|
2
3
|
export { default as getRequestURL } from './getRequestURL';
|
|
3
4
|
export { default as getTrad } from './getTrad';
|
|
4
|
-
export { default as formatPolicies } from './formatPolicies';
|