From 358819ca61d1e229124be4d368bc63b5c2652fec Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Fri, 17 May 2019 15:43:48 +0200 Subject: [PATCH 01/16] add missing props --- .../config/roles/components/AvailableVerbs.js | 2 ++ .../roles/components/PermissionRoleDetails.js | 2 +- .../components/PermissionRoleDetailsTable.js | 25 ++++++++++--------- .../roles/components/PermissionRoleTable.js | 17 +++++++------ .../config/roles/components/SystemRoleTag.js | 2 ++ .../roles/containers/CreateRepositoryRole.js | 2 ++ .../roles/containers/RepositoryRoles.js | 1 + 7 files changed, 30 insertions(+), 21 deletions(-) diff --git a/scm-ui/src/config/roles/components/AvailableVerbs.js b/scm-ui/src/config/roles/components/AvailableVerbs.js index dbe0b50a77..729e977e95 100644 --- a/scm-ui/src/config/roles/components/AvailableVerbs.js +++ b/scm-ui/src/config/roles/components/AvailableVerbs.js @@ -7,7 +7,9 @@ import injectSheet from "react-jss"; type Props = { role: RepositoryRole, + // context props + classes: any, t: string => string }; diff --git a/scm-ui/src/config/roles/components/PermissionRoleDetails.js b/scm-ui/src/config/roles/components/PermissionRoleDetails.js index 1977ddde2a..d1b48fc8b5 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleDetails.js +++ b/scm-ui/src/config/roles/components/PermissionRoleDetails.js @@ -4,7 +4,7 @@ import { translate } from "react-i18next"; import type { RepositoryRole } from "@scm-manager/ui-types"; import ExtensionPoint from "@scm-manager/ui-extensions/lib/ExtensionPoint"; import PermissionRoleDetailsTable from "./PermissionRoleDetailsTable"; -import { Button, Subtitle } from "@scm-manager/ui-components"; +import { Button } from "@scm-manager/ui-components"; type Props = { role: RepositoryRole, diff --git a/scm-ui/src/config/roles/components/PermissionRoleDetailsTable.js b/scm-ui/src/config/roles/components/PermissionRoleDetailsTable.js index dd0502cb02..28ab5e1f14 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleDetailsTable.js +++ b/scm-ui/src/config/roles/components/PermissionRoleDetailsTable.js @@ -6,6 +6,7 @@ import AvailableVerbs from "./AvailableVerbs"; type Props = { role: RepositoryRole, + // context props t: string => string }; @@ -16,18 +17,18 @@ class PermissionRoleDetailsTable extends React.Component { return ( - - - - - - - - - - - - + + + + + + + + + + + +
{t("repositoryRole.name")}{role.name}
{t("repositoryRole.type")}{role.type}
{t("repositoryRole.verbs")}
{t("repositoryRole.name")}{role.name}
{t("repositoryRole.type")}{role.type}
{t("repositoryRole.verbs")}
); diff --git a/scm-ui/src/config/roles/components/PermissionRoleTable.js b/scm-ui/src/config/roles/components/PermissionRoleTable.js index bb98f7c3e9..dddf30a888 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleTable.js +++ b/scm-ui/src/config/roles/components/PermissionRoleTable.js @@ -8,6 +8,7 @@ type Props = { baseUrl: string, roles: RepositoryRole[], + // context props t: string => string }; @@ -17,16 +18,16 @@ class PermissionRoleTable extends React.Component { return ( - - - + + + - {roles.map((role, index) => { - return ( - - ); - })} + {roles.map((role, index) => { + return ( + + ); + })}
{t("repositoryRole.form.name")}
{t("repositoryRole.form.name")}
); diff --git a/scm-ui/src/config/roles/components/SystemRoleTag.js b/scm-ui/src/config/roles/components/SystemRoleTag.js index 0f6b87addc..f9e907de35 100644 --- a/scm-ui/src/config/roles/components/SystemRoleTag.js +++ b/scm-ui/src/config/roles/components/SystemRoleTag.js @@ -6,6 +6,8 @@ import { translate } from "react-i18next"; type Props = { system?: boolean, + + // context props classes: any, t: string => string }; diff --git a/scm-ui/src/config/roles/containers/CreateRepositoryRole.js b/scm-ui/src/config/roles/containers/CreateRepositoryRole.js index 88f42f8353..75380ada92 100644 --- a/scm-ui/src/config/roles/containers/CreateRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/CreateRepositoryRole.js @@ -15,11 +15,13 @@ import { getRepositoryRolesLink, getRepositoryVerbsLink } from "../../../modules/indexResource"; +import type {History} from "history"; type Props = { disabled: boolean, repositoryRolesLink: string, error?: Error, + history: History, //dispatch function addRole: (link: string, role: RepositoryRole, callback?: () => void) => void, diff --git a/scm-ui/src/config/roles/containers/RepositoryRoles.js b/scm-ui/src/config/roles/containers/RepositoryRoles.js index f148b120e0..06492add5b 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoles.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoles.js @@ -36,6 +36,7 @@ type Props = { // context objects t: string => string, history: History, + location: any, // dispatch functions fetchRolesByPage: (link: string, page: number) => void From fca095c3d54578bf313501519bffa92005d7bd20 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Fri, 17 May 2019 15:44:22 +0200 Subject: [PATCH 02/16] remove unnecessary div containers --- .../roles/components/PermissionRoleDetails.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/scm-ui/src/config/roles/components/PermissionRoleDetails.js b/scm-ui/src/config/roles/components/PermissionRoleDetails.js index d1b48fc8b5..189f3f3972 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleDetails.js +++ b/scm-ui/src/config/roles/components/PermissionRoleDetails.js @@ -33,18 +33,16 @@ class PermissionRoleDetails extends React.Component { const { role } = this.props; return ( -
+ <>
{this.renderEditButton()} -
- -
-
+ + ); } } From e15039559f5f67164d080df554e604e36c33d563 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Fri, 17 May 2019 15:45:39 +0200 Subject: [PATCH 03/16] remove unsupported query-feature --- .../roles/containers/RepositoryRoles.js | 22 +------------------ 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/scm-ui/src/config/roles/containers/RepositoryRoles.js b/scm-ui/src/config/roles/containers/RepositoryRoles.js index 06492add5b..b1cece11bf 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoles.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoles.js @@ -23,6 +23,7 @@ import { } from "../modules/roles"; import PermissionRoleTable from "../components/PermissionRoleTable"; import { getRolesLink } from "../../../modules/indexResource"; + type Props = { baseUrl: string, roles: RepositoryRole[], @@ -48,27 +49,6 @@ class RepositoryRoles extends React.Component { fetchRolesByPage(rolesLink, page); } - componentDidUpdate = (prevProps: Props) => { - const { - loading, - list, - page, - rolesLink, - location, - fetchRolesByPage - } = this.props; - if (list && page && !loading) { - const statePage: number = list.page + 1; - if (page !== statePage || prevProps.location.search !== location.search) { - fetchRolesByPage( - rolesLink, - page, - urls.getQueryStringFromLocation(location) - ); - } - } - }; - render() { const { t, loading } = this.props; From d3508af920be6bceae4ed5587a7d76b9b66d2c87 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Fri, 17 May 2019 15:47:20 +0200 Subject: [PATCH 04/16] add subtitle, missing props --- .../config/roles/containers/CreateRepositoryRole.js | 3 ++- .../src/config/roles/containers/EditRepositoryRole.js | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/scm-ui/src/config/roles/containers/CreateRepositoryRole.js b/scm-ui/src/config/roles/containers/CreateRepositoryRole.js index 75380ada92..bef37f3603 100644 --- a/scm-ui/src/config/roles/containers/CreateRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/CreateRepositoryRole.js @@ -3,7 +3,7 @@ import React from "react"; import RepositoryRoleForm from "./RepositoryRoleForm"; import { connect } from "react-redux"; import { translate } from "react-i18next"; -import { ErrorNotification, Title } from "@scm-manager/ui-components"; +import {ErrorNotification, Subtitle, Title} from "@scm-manager/ui-components"; import { createRole, getCreateRoleFailure, @@ -52,6 +52,7 @@ class CreateRepositoryRole extends React.Component { return ( <> + <Subtitle subtitle={t("repositoryRole.createSubtitle")} /> <RepositoryRoleForm disabled={this.props.disabled} submitForm={role => this.createRepositoryRole(role)} diff --git a/scm-ui/src/config/roles/containers/EditRepositoryRole.js b/scm-ui/src/config/roles/containers/EditRepositoryRole.js index deb0a77583..8bf1d5442b 100644 --- a/scm-ui/src/config/roles/containers/EditRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/EditRepositoryRole.js @@ -8,8 +8,9 @@ import { isModifyRolePending, modifyRole } from "../modules/roles"; -import { ErrorNotification } from "@scm-manager/ui-components"; +import { ErrorNotification, Subtitle } from "@scm-manager/ui-components"; import type { RepositoryRole } from "@scm-manager/ui-types"; +import type { History } from "history"; type Props = { disabled: boolean, @@ -17,6 +18,10 @@ type Props = { repositoryRolesLink: string, error?: Error, + // context objects + t: string => string, + history: History, + //dispatch function updateRole: ( link: string, @@ -36,7 +41,7 @@ class EditRepositoryRole extends React.Component<Props> { }; render() { - const { error } = this.props; + const { error, t } = this.props; if (error) { return <ErrorNotification error={error} />; @@ -44,6 +49,7 @@ class EditRepositoryRole extends React.Component<Props> { return ( <> + <Subtitle subtitle={t("repositoryRole.editSubtitle")} /> <RepositoryRoleForm nameDisabled={true} role={this.props.role} From 155b0f72b938565c0be4ffeaed111fbc633e364c Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 15:51:55 +0200 Subject: [PATCH 05/16] remove unnecessary column block --- .../config/roles/components/AvailableVerbs.js | 4 +-- .../roles/containers/SingleRepositoryRole.js | 36 +++++++++---------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/scm-ui/src/config/roles/components/AvailableVerbs.js b/scm-ui/src/config/roles/components/AvailableVerbs.js index 729e977e95..d544557644 100644 --- a/scm-ui/src/config/roles/components/AvailableVerbs.js +++ b/scm-ui/src/config/roles/components/AvailableVerbs.js @@ -1,9 +1,9 @@ //@flow import React from "react"; -import type { RepositoryRole } from "@scm-manager/ui-types"; -import { translate } from "react-i18next"; import { compose } from "redux"; import injectSheet from "react-jss"; +import { translate } from "react-i18next"; +import type { RepositoryRole } from "@scm-manager/ui-types"; type Props = { role: RepositoryRole, diff --git a/scm-ui/src/config/roles/containers/SingleRepositoryRole.js b/scm-ui/src/config/roles/containers/SingleRepositoryRole.js index 3bb951ac1a..4aec3b0b06 100644 --- a/scm-ui/src/config/roles/containers/SingleRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/SingleRepositoryRole.js @@ -81,26 +81,22 @@ class SingleRepositoryRole extends React.Component<Props> { return ( <> <Title title={t("repositoryRole.title")} /> - <div className="columns"> - <div className="column is-three-quarters"> - <Route - path={`${url}/info`} - component={() => <PermissionRoleDetail role={role} url={url} />} - /> - <Route - path={`${url}/edit`} - exact - component={() => ( - <EditRepositoryRole role={role} history={this.props.history} /> - )} - /> - <ExtensionPoint - name="roles.route" - props={extensionProps} - renderAll={true} - /> - </div> - </div> + <Route + path={`${url}/info`} + component={() => <PermissionRoleDetail role={role} url={url} />} + /> + <Route + path={`${url}/edit`} + exact + component={() => ( + <EditRepositoryRole role={role} history={this.props.history} /> + )} + /> + <ExtensionPoint + name="roles.route" + props={extensionProps} + renderAll={true} + /> </> ); } From 8fe5da18828308bf2fe379f3a20eb266e1aa8860 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:07:13 +0200 Subject: [PATCH 06/16] fix import --- scm-ui/src/config/roles/components/PermissionRoleDetails.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm-ui/src/config/roles/components/PermissionRoleDetails.js b/scm-ui/src/config/roles/components/PermissionRoleDetails.js index 189f3f3972..307eb6b48e 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleDetails.js +++ b/scm-ui/src/config/roles/components/PermissionRoleDetails.js @@ -2,7 +2,7 @@ import React from "react"; import { translate } from "react-i18next"; import type { RepositoryRole } from "@scm-manager/ui-types"; -import ExtensionPoint from "@scm-manager/ui-extensions/lib/ExtensionPoint"; +import { ExtensionPoint } from "@scm-manager/ui-extensions"; import PermissionRoleDetailsTable from "./PermissionRoleDetailsTable"; import { Button } from "@scm-manager/ui-components"; From 1f25ba6040c40f28a23ba1438cb5b68a70e14210 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:10:14 +0200 Subject: [PATCH 07/16] remove unnecessary disabled prop --- scm-ui/src/config/containers/Config.js | 1 - scm-ui/src/config/roles/containers/CreateRepositoryRole.js | 2 -- 2 files changed, 3 deletions(-) diff --git a/scm-ui/src/config/containers/Config.js b/scm-ui/src/config/containers/Config.js index 496dce4611..058df06c28 100644 --- a/scm-ui/src/config/containers/Config.js +++ b/scm-ui/src/config/containers/Config.js @@ -74,7 +74,6 @@ class Config extends React.Component<Props> { path={`${url}/roles/create`} render={() => ( <CreateRepositoryRole - disabled={false} history={this.props.history} /> )} diff --git a/scm-ui/src/config/roles/containers/CreateRepositoryRole.js b/scm-ui/src/config/roles/containers/CreateRepositoryRole.js index bef37f3603..55b141469f 100644 --- a/scm-ui/src/config/roles/containers/CreateRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/CreateRepositoryRole.js @@ -18,7 +18,6 @@ import { import type {History} from "history"; type Props = { - disabled: boolean, repositoryRolesLink: string, error?: Error, history: History, @@ -54,7 +53,6 @@ class CreateRepositoryRole extends React.Component<Props> { <Title title={t("repositoryRole.title")} /> <Subtitle subtitle={t("repositoryRole.createSubtitle")} /> <RepositoryRoleForm - disabled={this.props.disabled} submitForm={role => this.createRepositoryRole(role)} /> </> From 0b76247345510912b1b06dac27dd75b65935c2d0 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:14:35 +0200 Subject: [PATCH 08/16] remove nameDisabled prop and added disable check --- scm-ui/src/config/roles/containers/EditRepositoryRole.js | 1 - scm-ui/src/config/roles/containers/RepositoryRoleForm.js | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/scm-ui/src/config/roles/containers/EditRepositoryRole.js b/scm-ui/src/config/roles/containers/EditRepositoryRole.js index 8bf1d5442b..f4badd9193 100644 --- a/scm-ui/src/config/roles/containers/EditRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/EditRepositoryRole.js @@ -51,7 +51,6 @@ class EditRepositoryRole extends React.Component<Props> { <> <Subtitle subtitle={t("repositoryRole.editSubtitle")} /> <RepositoryRoleForm - nameDisabled={true} role={this.props.role} submitForm={role => this.updateRepositoryRole(role)} /> diff --git a/scm-ui/src/config/roles/containers/RepositoryRoleForm.js b/scm-ui/src/config/roles/containers/RepositoryRoleForm.js index 43d901a285..7b7e628f87 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoleForm.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoleForm.js @@ -19,7 +19,6 @@ import { type Props = { role?: RepositoryRole, loading?: boolean, - nameDisabled: boolean, availableVerbs: string[], verbsLink: string, submitForm: RepositoryRole => void, @@ -103,7 +102,7 @@ class RepositoryRoleForm extends React.Component<Props, State> { }; render() { - const { loading, availableVerbs, nameDisabled, t } = this.props; + const { loading, availableVerbs, t } = this.props; const { role } = this.state; const verbSelectBoxes = !availableVerbs @@ -126,7 +125,7 @@ class RepositoryRoleForm extends React.Component<Props, State> { label={t("repositoryRole.create.name")} onChange={this.handleNameChange} value={role.name ? role.name : ""} - disabled={nameDisabled} + disabled={!!this.props.role} /> </div> </div> From 7631d623be4701ed0b923db6e0b25a701526b8ea Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:16:37 +0200 Subject: [PATCH 09/16] remove duplicated indexResource --- scm-ui/src/config/roles/containers/RepositoryRoles.js | 4 ++-- scm-ui/src/modules/indexResource.js | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/scm-ui/src/config/roles/containers/RepositoryRoles.js b/scm-ui/src/config/roles/containers/RepositoryRoles.js index b1cece11bf..a9dd967897 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoles.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoles.js @@ -22,7 +22,7 @@ import { getFetchRolesFailure } from "../modules/roles"; import PermissionRoleTable from "../components/PermissionRoleTable"; -import { getRolesLink } from "../../../modules/indexResource"; +import { getRepositoryRolesLink } from "../../../modules/indexResource"; type Props = { baseUrl: string, @@ -104,7 +104,7 @@ const mapStateToProps = (state, ownProps) => { const page = urls.getPageFromMatch(match); const canAddRoles = isPermittedToCreateRoles(state); const list = selectListAsCollection(state); - const rolesLink = getRolesLink(state); + const rolesLink = getRepositoryRolesLink(state); return { roles, diff --git a/scm-ui/src/modules/indexResource.js b/scm-ui/src/modules/indexResource.js index 2c6805d207..12126e4841 100644 --- a/scm-ui/src/modules/indexResource.js +++ b/scm-ui/src/modules/indexResource.js @@ -159,10 +159,6 @@ export function getSvnConfigLink(state: Object) { return getLink(state, "svnConfig"); } -export function getRolesLink(state: Object) { - return getLink(state, "repositoryRoles"); -} - export function getUserAutoCompleteLink(state: Object): string { const link = getLinkCollection(state, "autocomplete").find( i => i.name === "users" From 5007b257ba05fa46f27d5cee5359ace9cfd9a2a7 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:22:44 +0200 Subject: [PATCH 10/16] remove unnecessary div containers --- .../roles/containers/RepositoryRoleForm.js | 34 +++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/scm-ui/src/config/roles/containers/RepositoryRoleForm.js b/scm-ui/src/config/roles/containers/RepositoryRoleForm.js index 7b7e628f87..9af8ac75f8 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoleForm.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoleForm.js @@ -118,28 +118,20 @@ class RepositoryRoleForm extends React.Component<Props, State> { return ( <form onSubmit={this.submit}> - <div className="columns"> - <div className="column"> - <InputField - name="name" - label={t("repositoryRole.create.name")} - onChange={this.handleNameChange} - value={role.name ? role.name : ""} - disabled={!!this.props.role} - /> - </div> - </div> - <>{verbSelectBoxes}</> + <InputField + name="name" + label={t("repositoryRole.create.name")} + onChange={this.handleNameChange} + value={role.name ? role.name : ""} + disabled={!!this.props.role} + /> + {verbSelectBoxes} <hr /> - <div className="columns"> - <div className="column"> - <SubmitButton - loading={loading} - label={t("repositoryRole.form.submit")} - disabled={!this.isValid()} - /> - </div> - </div> + <SubmitButton + loading={loading} + label={t("repositoryRole.form.submit")} + disabled={!this.isValid()} + /> </form> ); } From 6b91faa4e2273ad8a8c5b268064803480a527f94 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:31:01 +0200 Subject: [PATCH 11/16] fix dispatch function and loading prop --- .../config/roles/containers/EditRepositoryRole.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/scm-ui/src/config/roles/containers/EditRepositoryRole.js b/scm-ui/src/config/roles/containers/EditRepositoryRole.js index f4badd9193..6dc783bec3 100644 --- a/scm-ui/src/config/roles/containers/EditRepositoryRole.js +++ b/scm-ui/src/config/roles/containers/EditRepositoryRole.js @@ -23,21 +23,16 @@ type Props = { history: History, //dispatch function - updateRole: ( - link: string, - role: RepositoryRole, - callback?: () => void - ) => void + updateRole: (role: RepositoryRole, callback?: () => void) => void }; class EditRepositoryRole extends React.Component<Props> { - repositoryRoleUpdated = (role: RepositoryRole) => { - const { history } = this.props; - history.push("/config/roles/"); + repositoryRoleUpdated = () => { + this.props.history.push("/config/roles/"); }; updateRepositoryRole = (role: RepositoryRole) => { - this.props.updateRole(role, () => this.repositoryRoleUpdated(role)); + this.props.updateRole(role, this.repositoryRoleUpdated); }; render() { @@ -60,7 +55,7 @@ class EditRepositoryRole extends React.Component<Props> { } const mapStateToProps = (state, ownProps) => { - const loading = isModifyRolePending(state); + const loading = isModifyRolePending(state, ownProps.role.name); const error = getModifyRoleFailure(state, ownProps.role.name); return { From 15cb29e1fc98e68fe5ba2b4718e6e49108906b3b Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 16:55:21 +0200 Subject: [PATCH 12/16] clarified translations --- scm-ui/public/locales/en/config.json | 28 +++++++++---------- .../roles/components/PermissionRoleDetails.js | 2 +- .../roles/components/PermissionRoleTable.js | 2 +- .../config/roles/components/SystemRoleTag.js | 2 +- .../roles/containers/RepositoryRoleForm.js | 9 ++++-- .../roles/containers/RepositoryRoles.js | 10 ++++--- 6 files changed, 29 insertions(+), 24 deletions(-) diff --git a/scm-ui/public/locales/en/config.json b/scm-ui/public/locales/en/config.json index bdb245544a..66ddea3ee2 100644 --- a/scm-ui/public/locales/en/config.json +++ b/scm-ui/public/locales/en/config.json @@ -9,30 +9,28 @@ "repositoryRole": { "navLink": "Permission Roles", "title": "Permission Roles", - "noPermissionRoles": "No permission roles found.", - "system": "System", - "createButton": "Create Permission Role", + "errorTitle": "Error", + "errorSubtitle": "Unknown Permission Role Error", + "createSubtitle": "Create Permission Role", + "editSubtitle": "Edit Permission Role", + "overview": { + "title": "Overview of all permission roles", + "noPermissionRoles": "No permission roles found.", + "createButton": "Create Permission Role" + }, + "details": { + "editButton": "Edit" + }, "name": "Name", "type": "Type", "verbs": "Verbs", - "edit": "Edit Permission Role", - "button": { - "edit": "Edit" - }, - "create": { - "name": "Name" - }, + "system": "System", "form": { - "subtitle": "Edit Permission Role", "name": "Name", "permissions": "Permissions", "submit": "Save" } }, - "role": { - "name": "Name", - "system": "System" - }, "config-form": { "submit": "Submit", "submit-success-notification": "Configuration changed successfully!", diff --git a/scm-ui/src/config/roles/components/PermissionRoleDetails.js b/scm-ui/src/config/roles/components/PermissionRoleDetails.js index 307eb6b48e..6f5121e227 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleDetails.js +++ b/scm-ui/src/config/roles/components/PermissionRoleDetails.js @@ -20,7 +20,7 @@ class PermissionRoleDetails extends React.Component<Props> { if (!!this.props.role._links.update) { return ( <Button - label={t("repositoryRole.button.edit")} + label={t("repositoryRole.details.editButton")} link={`${url}/edit`} color="primary" /> diff --git a/scm-ui/src/config/roles/components/PermissionRoleTable.js b/scm-ui/src/config/roles/components/PermissionRoleTable.js index dddf30a888..13c5d775d1 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleTable.js +++ b/scm-ui/src/config/roles/components/PermissionRoleTable.js @@ -19,7 +19,7 @@ class PermissionRoleTable extends React.Component<Props> { <table className="card-table table is-hoverable is-fullwidth"> <thead> <tr> - <th>{t("repositoryRole.form.name")}</th> + <th>{t("repositoryRole.name")}</th> </tr> </thead> <tbody> diff --git a/scm-ui/src/config/roles/components/SystemRoleTag.js b/scm-ui/src/config/roles/components/SystemRoleTag.js index f9e907de35..8aad57eddc 100644 --- a/scm-ui/src/config/roles/components/SystemRoleTag.js +++ b/scm-ui/src/config/roles/components/SystemRoleTag.js @@ -26,7 +26,7 @@ class SystemRoleTag extends React.Component<Props> { if (system) { return ( <span className={classNames("tag is-dark", classes.tag)}> - {t("role.system")} + {t("repositoryRole.system")} </span> ); } diff --git a/scm-ui/src/config/roles/containers/RepositoryRoleForm.js b/scm-ui/src/config/roles/containers/RepositoryRoleForm.js index 9af8ac75f8..9269af3838 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoleForm.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoleForm.js @@ -120,12 +120,17 @@ class RepositoryRoleForm extends React.Component<Props, State> { <form onSubmit={this.submit}> <InputField name="name" - label={t("repositoryRole.create.name")} + label={t("repositoryRole.form.name")} onChange={this.handleNameChange} value={role.name ? role.name : ""} disabled={!!this.props.role} /> - {verbSelectBoxes} + <div className="field"> + <label className="label"> + {t("repositoryRole.form.permissions")} + </label> + {verbSelectBoxes} + </div> <hr /> <SubmitButton loading={loading} diff --git a/scm-ui/src/config/roles/containers/RepositoryRoles.js b/scm-ui/src/config/roles/containers/RepositoryRoles.js index a9dd967897..689c8cf1cc 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoles.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoles.js @@ -7,6 +7,7 @@ import type { History } from "history"; import type { RepositoryRole, PagedCollection } from "@scm-manager/ui-types"; import { Title, + Subtitle, Loading, Notification, LinkPaginator, @@ -57,11 +58,12 @@ class RepositoryRoles extends React.Component<Props> { } return ( - <div> + <> <Title title={t("repositoryRole.title")} /> + <Subtitle subtitle={t("repositoryRole.overview.title")} /> {this.renderPermissionsTable()} {this.renderCreateButton()} - </div> + </> ); } @@ -77,7 +79,7 @@ class RepositoryRoles extends React.Component<Props> { } return ( <Notification type="info"> - {t("repositoryRole.noPermissionRoles")} + {t("repositoryRole.overview.noPermissionRoles")} </Notification> ); } @@ -87,7 +89,7 @@ class RepositoryRoles extends React.Component<Props> { if (canAddRoles) { return ( <CreateButton - label={t("repositoryRole.createButton")} + label={t("repositoryRole.overview.createButton")} link={`${baseUrl}/create`} /> ); From 1ee76d2c31eaf6ef593715f799e96431b9da6691 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 17:04:04 +0200 Subject: [PATCH 13/16] corrected remove unsupported query-feature commit --- .../roles/containers/RepositoryRoles.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scm-ui/src/config/roles/containers/RepositoryRoles.js b/scm-ui/src/config/roles/containers/RepositoryRoles.js index 689c8cf1cc..2de1d3d74c 100644 --- a/scm-ui/src/config/roles/containers/RepositoryRoles.js +++ b/scm-ui/src/config/roles/containers/RepositoryRoles.js @@ -50,6 +50,26 @@ class RepositoryRoles extends React.Component<Props> { fetchRolesByPage(rolesLink, page); } + componentDidUpdate = (prevProps: Props) => { + const { + loading, + list, + page, + rolesLink, + location, + fetchRolesByPage + } = this.props; + if (list && page && !loading) { + const statePage: number = list.page + 1; + if (page !== statePage || prevProps.location.search !== location.search) { + fetchRolesByPage( + rolesLink, + page + ); + } + } + }; + render() { const { t, loading } = this.props; From e4963fb9de588e4b678e718218d8d533606852cc Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 17:04:40 +0200 Subject: [PATCH 14/16] fix activation of nav on roles/create page --- scm-ui/src/config/containers/Config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/scm-ui/src/config/containers/Config.js b/scm-ui/src/config/containers/Config.js index 058df06c28..53f00ea3dc 100644 --- a/scm-ui/src/config/containers/Config.js +++ b/scm-ui/src/config/containers/Config.js @@ -103,6 +103,7 @@ class Config extends React.Component<Props> { to={`${url}/roles/`} label={t("repositoryRole.navLink")} activeWhenMatch={this.matchesRoles} + activeOnlyWhenExact={false} /> <ExtensionPoint name="config.navigation" From 7343edb819b5f30fbbda52c4cbda6a9ed0293ade Mon Sep 17 00:00:00 2001 From: Florian Scholdei <florian.scholdei@cloudogu.com> Date: Fri, 17 May 2019 17:13:16 +0200 Subject: [PATCH 15/16] add german translations --- scm-ui/public/locales/de/config.json | 26 ++++++++----------- scm-ui/public/locales/en/config.json | 6 ++--- .../roles/components/PermissionRoleDetails.js | 2 +- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/scm-ui/public/locales/de/config.json b/scm-ui/public/locales/de/config.json index d26552c30d..3fc61a9b47 100644 --- a/scm-ui/public/locales/de/config.json +++ b/scm-ui/public/locales/de/config.json @@ -9,30 +9,26 @@ "repositoryRole": { "navLink": "Berechtigungsrollen", "title": "Berechtigungsrollen", - "noPermissionRoles": "Keine Berechtigungsrollen gefunden.", - "system": "System", - "createButton": "Berechtigungsrolle erstellen", + "errorTitle": "Fehler", + "errorSubtitle": "Unbekannter Berechtigungsrollen Fehler", + "createSubtitle": "Berechtigungsrolle erstellen", + "editSubtitle": "Berechtigungsrolle bearbeiten", + "overview": { + "title": "Übersicht aller verfügbaren Berechtigungsrollen", + "noPermissionRoles": "Keine Berechtigungsrollen gefunden.", + "createButton": "Berechtigungsrolle erstellen" + }, + "editButton": "Bearbeiten", "name": "Name", "type": "Typ", "verbs": "Berechtigungen", - "button": { - "edit": "Bearbeiten" - }, - "create": { - "name": "Name" - }, - "edit": "Berechtigungsrolle bearbeiten", + "system": "System", "form": { - "subtitle": "Berechtigungsrolle bearbeiten", "name": "Name", "permissions": "Berechtigungen", "submit": "Speichern" } }, - "role": { - "name": "Name", - "system": "System" - }, "deleteRole" : { "button": "Löschen", "subtitle": "Berechtigungsrolle löschen", diff --git a/scm-ui/public/locales/en/config.json b/scm-ui/public/locales/en/config.json index a57a962ced..d7ffa3d229 100644 --- a/scm-ui/public/locales/en/config.json +++ b/scm-ui/public/locales/en/config.json @@ -18,9 +18,7 @@ "noPermissionRoles": "No permission roles found.", "createButton": "Create Permission Role" }, - "details": { - "editButton": "Edit" - }, + "editButton": "Edit", "name": "Name", "type": "Type", "verbs": "Permissions", @@ -31,7 +29,7 @@ "submit": "Save" } }, - "deleteRole" : { + "deleteRole": { "button": "Delete", "subtitle": "Delete Permission Role", "confirmAlert": { diff --git a/scm-ui/src/config/roles/components/PermissionRoleDetails.js b/scm-ui/src/config/roles/components/PermissionRoleDetails.js index 6f5121e227..610bc98b6a 100644 --- a/scm-ui/src/config/roles/components/PermissionRoleDetails.js +++ b/scm-ui/src/config/roles/components/PermissionRoleDetails.js @@ -20,7 +20,7 @@ class PermissionRoleDetails extends React.Component<Props> { if (!!this.props.role._links.update) { return ( <Button - label={t("repositoryRole.details.editButton")} + label={t("repositoryRole.editButton")} link={`${url}/edit`} color="primary" /> From dd3aab40eb4558cdb488b8f8090bbcfd238dee5f Mon Sep 17 00:00:00 2001 From: Rene Pfeuffer <rene.pfeuffer@cloudogu.com> Date: Wed, 22 May 2019 07:43:45 +0000 Subject: [PATCH 16/16] Close branch bugfix/repo_roles