Merged 2.0.0-m3

This commit is contained in:
Philipp Czora
2018-10-19 08:44:03 +02:00
27 changed files with 1002 additions and 229 deletions

View File

@@ -1,17 +1,14 @@
// @flow
import React from "react";
import { translate } from "react-i18next";
import { Checkbox, InputField, SubmitButton } from "@scm-manager/ui-components";
import {translate} from "react-i18next";
import {Checkbox, InputField, SubmitButton} from "@scm-manager/ui-components";
import TypeSelector from "./TypeSelector";
import type {
PermissionCollection,
PermissionEntry
} from "@scm-manager/ui-types";
import type {PermissionCollection, PermissionCreateEntry} from "@scm-manager/ui-types";
import * as validator from "./permissionValidation";
type Props = {
t: string => string,
createPermission: (permission: PermissionEntry) => void,
createPermission: (permission: PermissionCreateEntry) => void,
loading: boolean,
currentPermissions: PermissionCollection
};
@@ -65,7 +62,7 @@ class CreatePermissionForm extends React.Component<Props, State> {
<SubmitButton
label={t("permission.add-permission.submit-button")}
loading={loading}
disabled={!this.state.valid || this.state.name == ""}
disabled={!this.state.valid || this.state.name === ""}
/>
</form>
</div>

View File

@@ -1,21 +1,31 @@
// @flow
import { validation } from "@scm-manager/ui-components";
import type {
PermissionCollection,
} from "@scm-manager/ui-types";
import {validation} from "@scm-manager/ui-components";
import type {PermissionCollection} from "@scm-manager/ui-types";
const isNameValid = validation.isNameValid;
export { isNameValid };
export const isPermissionValid = (name: string, groupPermission: boolean, permissions: PermissionCollection) => {
return isNameValid(name) && !currentPermissionIncludeName(name, groupPermission, permissions);
export const isPermissionValid = (
name: string,
groupPermission: boolean,
permissions: PermissionCollection
) => {
return (
isNameValid(name) &&
!currentPermissionIncludeName(name, groupPermission, permissions)
);
};
const currentPermissionIncludeName = (name: string, groupPermission: boolean, permissions: PermissionCollection) => {
const currentPermissionIncludeName = (
name: string,
groupPermission: boolean,
permissions: PermissionCollection
) => {
for (let i = 0; i < permissions.length; i++) {
if (
permissions[i].name === name &&
permissions[i].groupPermission == groupPermission
permissions[i].groupPermission === groupPermission
)
return true;
}

View File

@@ -17,7 +17,8 @@ describe("permission validation", () => {
{
name: "PermissionName",
groupPermission: true,
type: "READ"
type: "READ",
_links: {}
}
];
const name = "PermissionName";
@@ -33,7 +34,8 @@ describe("permission validation", () => {
{
name: "PermissionName",
groupPermission: false,
type: "READ"
type: "READ",
_links: {}
}
];
const name = "PermissionName";