Skip to content

Commit 2513f1e

Browse files
committed
Use human readable provider_label for permissions grouping label
1 parent e6126cb commit 2513f1e

File tree

1 file changed

+36
-31
lines changed

1 file changed

+36
-31
lines changed

src/components/05_pages/Permissions/Permissions.js

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -72,43 +72,48 @@ const Permissions = class Permissions extends Component {
7272
groupPermissions = permissions =>
7373
Object.entries(
7474
permissions.reduce((acc, cur) => {
75-
acc[cur.provider] = acc[cur.provider] || [];
76-
acc[cur.provider].push(cur);
75+
acc[cur.provider] = acc[cur.provider] || {
76+
providerLabel: cur.provider_label,
77+
permissions: [],
78+
};
79+
acc[cur.provider].permissions.push(cur);
7780
return acc;
7881
}, {}),
7982
);
8083
createTableRows = (groupedPermissions, roles) =>
8184
[].concat(
82-
...groupedPermissions.map(([permissionGroupName, permissions]) => [
83-
{
84-
key: `permissionGroup-${permissionGroupName}`,
85-
colspan: roles.length + 1,
86-
tds: [[`td-${permissionGroupName}`, <b>{permissionGroupName}</b>]],
87-
},
88-
...permissions.map(permission => ({
89-
key: `permissionGroup-${permissionGroupName}-${permission.title}`,
90-
tds: [
91-
[
92-
`td-${permissionGroupName}-${permission.title}`,
93-
<Markup content={permission.title} />,
85+
...groupedPermissions.map(
86+
([providerMachineName, { providerLabel, permissions }]) => [
87+
{
88+
key: `permissionGroup-${providerMachineName}`,
89+
colspan: roles.length + 1,
90+
tds: [[`td-${providerMachineName}`, <b>{providerLabel}</b>]],
91+
},
92+
...permissions.map(permission => ({
93+
key: `permissionGroup-${providerMachineName}-${permission.title}`,
94+
tds: [
95+
[
96+
`td-${providerMachineName}-${permission.title}`,
97+
<Markup content={permission.title} />,
98+
],
99+
...roles.map(({ attributes }, index) => [
100+
`td-${providerMachineName}-${permission.title}-${index}-cb`,
101+
attributes.is_admin && attributes.id === 'administrator' ? (
102+
<input type="checkbox" checked />
103+
) : (
104+
<input
105+
type="checkbox"
106+
onChange={() =>
107+
this.onPermissionCheck(attributes.id, permission.id)
108+
}
109+
checked={attributes.permissions.includes(permission.id)}
110+
/>
111+
),
112+
]),
94113
],
95-
...roles.map(({ attributes }, index) => [
96-
`td-${permissionGroupName}-${permission.title}-${index}-cb`,
97-
attributes.is_admin && attributes.id === 'administrator' ? (
98-
<input type="checkbox" checked />
99-
) : (
100-
<input
101-
type="checkbox"
102-
onChange={() =>
103-
this.onPermissionCheck(attributes.id, permission.id)
104-
}
105-
checked={attributes.permissions.includes(permission.id)}
106-
/>
107-
),
108-
]),
109-
],
110-
})),
111-
]),
114+
})),
115+
],
116+
),
112117
);
113118
handleKeyPress = event => {
114119
const input = event.target.value.toLowerCase();

0 commit comments

Comments
 (0)