fix fetching available_repository_roles & available_repository_verbs

This commit is contained in:
Eduard Heimbuch
2019-05-13 15:44:43 +02:00
parent fad50b7319
commit 623e32809b
5 changed files with 99 additions and 41 deletions

View File

@@ -10,7 +10,7 @@ import {
} from "@scm-manager/ui-components";
import RoleSelector from "../components/RoleSelector";
import type {
AvailableRepositoryPermissions,
RepositoryRole,
PermissionCollection,
PermissionCreateEntry,
SelectValue
@@ -21,7 +21,8 @@ import AdvancedPermissionsDialog from "./AdvancedPermissionsDialog";
type Props = {
t: string => string,
availablePermissions: AvailableRepositoryPermissions,
availableRoles: RepositoryRole[],
availableVerbs: string[],
createPermission: (permission: PermissionCreateEntry) => void,
loading: boolean,
currentPermissions: PermissionCollection,
@@ -44,7 +45,7 @@ class CreatePermissionForm extends React.Component<Props, State> {
this.state = {
name: "",
verbs: props.availablePermissions.availableRoles[0].verbs,
verbs: props.availableRoles[0].verbs,
groupPermission: false,
valid: true,
value: undefined,
@@ -132,18 +133,18 @@ class CreatePermissionForm extends React.Component<Props, State> {
};
render() {
const { t, availablePermissions, loading } = this.props;
const { t, availableRoles, availableVerbs, loading } = this.props;
const { verbs, showAdvancedDialog } = this.state;
const availableRoleNames = availablePermissions.availableRoles.map(
const availableRoleNames = availableRoles.map(
r => r.name
);
const matchingRole = findMatchingRoleName(availablePermissions, verbs);
const matchingRole = findMatchingRoleName(availableRoles, verbs);
const advancedDialog = showAdvancedDialog ? (
<AdvancedPermissionsDialog
availableVerbs={availablePermissions.availableVerbs}
availableVerbs={availableVerbs}
selectedVerbs={verbs}
onClose={this.closeAdvancedPermissionsDialog}
onSubmit={this.submitAdvancedPermissionsDialog}
@@ -246,7 +247,7 @@ class CreatePermissionForm extends React.Component<Props, State> {
removeState = () => {
this.setState({
name: "",
verbs: this.props.availablePermissions.availableRoles[0].verbs,
verbs: this.props.availableRoles[0].verbs,
valid: true,
value: undefined
});
@@ -263,7 +264,7 @@ class CreatePermissionForm extends React.Component<Props, State> {
};
findAvailableRole = (roleName: string) => {
return this.props.availablePermissions.availableRoles.find(
return this.props.availableRoles.find(
role => role.name === roleName
);
};