From 2b782b1aca4f7533818628e47803ee39f32b0544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maren=20S=C3=BCwer?= Date: Tue, 22 Jan 2019 10:50:45 +0100 Subject: [PATCH 1/9] open user page after user is created --- scm-ui/src/repos/containers/Create.js | 5 +++-- scm-ui/src/users/containers/AddUser.js | 11 +++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/scm-ui/src/repos/containers/Create.js b/scm-ui/src/repos/containers/Create.js index 4cf8d468de..2d41811723 100644 --- a/scm-ui/src/repos/containers/Create.js +++ b/scm-ui/src/repos/containers/Create.js @@ -43,8 +43,9 @@ class Create extends React.Component { this.props.fetchRepositoryTypesIfNeeded(); } - repoCreated = () => { + repoCreated = (repo: Repository) => { const { history } = this.props; + //TODO: Problem: repo name can be set in history, but repo namespace is not known without fetching anything history.push("/repos"); }; @@ -70,7 +71,7 @@ class Create extends React.Component { repositoryTypes={repositoryTypes} loading={createLoading} submitForm={repo => { - createRepo(repoLink, repo, this.repoCreated); + createRepo(repoLink, repo, () => this.repoCreated(repo)); }} /> diff --git a/scm-ui/src/users/containers/AddUser.js b/scm-ui/src/users/containers/AddUser.js index 1ee6fc759d..fd9e5bdd15 100644 --- a/scm-ui/src/users/containers/AddUser.js +++ b/scm-ui/src/users/containers/AddUser.js @@ -12,7 +12,7 @@ import { } from "../modules/users"; import { Page } from "@scm-manager/ui-components"; import { translate } from "react-i18next"; -import {getUsersLink} from "../../modules/indexResource"; +import { getUsersLink } from "../../modules/indexResource"; type Props = { loading?: boolean, @@ -33,13 +33,16 @@ class AddUser extends React.Component { this.props.resetForm(); } - userCreated = () => { + userCreated = (user: User) => { const { history } = this.props; - history.push("/users"); + console.log(user); + history.push("/user/" + user.name); }; createUser = (user: User) => { - this.props.addUser(this.props.usersLink, user, this.userCreated); + this.props.addUser(this.props.usersLink, user, () => + this.userCreated(user) + ); }; render() { From e1a889143c00a602eaae9319a448de4f95c8d90c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maren=20S=C3=BCwer?= Date: Tue, 22 Jan 2019 10:53:15 +0100 Subject: [PATCH 2/9] open group page after groupd is created --- scm-ui/src/groups/containers/AddGroup.js | 8 +++++--- scm-ui/src/users/containers/AddUser.js | 1 - 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scm-ui/src/groups/containers/AddGroup.js b/scm-ui/src/groups/containers/AddGroup.js index c19f6156d1..69c1171ea9 100644 --- a/scm-ui/src/groups/containers/AddGroup.js +++ b/scm-ui/src/groups/containers/AddGroup.js @@ -68,11 +68,13 @@ class AddGroup extends React.Component { }); }); }; - groupCreated = () => { - this.props.history.push("/groups"); + groupCreated = (group: Group) => { + this.props.history.push("/group/" + group.name); }; createGroup = (group: Group) => { - this.props.createGroup(this.props.createLink, group, this.groupCreated); + this.props.createGroup(this.props.createLink, group, () => + this.groupCreated(group) + ); }; } diff --git a/scm-ui/src/users/containers/AddUser.js b/scm-ui/src/users/containers/AddUser.js index fd9e5bdd15..f19f974265 100644 --- a/scm-ui/src/users/containers/AddUser.js +++ b/scm-ui/src/users/containers/AddUser.js @@ -35,7 +35,6 @@ class AddUser extends React.Component { userCreated = (user: User) => { const { history } = this.props; - console.log(user); history.push("/user/" + user.name); }; From 0a7dca0be3f4361082ddaf4707a9f2dc6c93056f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maren=20S=C3=BCwer?= Date: Tue, 22 Jan 2019 11:58:31 +0100 Subject: [PATCH 3/9] open repo page after repo is created --- scm-ui/src/repos/containers/Create.js | 14 ++++++++++---- scm-ui/src/repos/modules/repos.js | 11 ++++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/scm-ui/src/repos/containers/Create.js b/scm-ui/src/repos/containers/Create.js index 2d41811723..2cdd61fbbd 100644 --- a/scm-ui/src/repos/containers/Create.js +++ b/scm-ui/src/repos/containers/Create.js @@ -29,7 +29,11 @@ type Props = { // dispatch functions fetchRepositoryTypesIfNeeded: () => void, - createRepo: (link: string, Repository, callback: () => void) => void, + createRepo: ( + link: string, + Repository, + callback: (repo: Repository) => void + ) => void, resetForm: () => void, // context props @@ -45,8 +49,8 @@ class Create extends React.Component { repoCreated = (repo: Repository) => { const { history } = this.props; - //TODO: Problem: repo name can be set in history, but repo namespace is not known without fetching anything - history.push("/repos"); + + history.push("/repo/" + repo.namespace + "/" + repo.name); }; render() { @@ -71,7 +75,9 @@ class Create extends React.Component { repositoryTypes={repositoryTypes} loading={createLoading} submitForm={repo => { - createRepo(repoLink, repo, () => this.repoCreated(repo)); + createRepo(repoLink, repo, (repo: Repository) => + this.repoCreated(repo) + ); }} /> diff --git a/scm-ui/src/repos/modules/repos.js b/scm-ui/src/repos/modules/repos.js index 3e574aa938..aa77b4553b 100644 --- a/scm-ui/src/repos/modules/repos.js +++ b/scm-ui/src/repos/modules/repos.js @@ -164,16 +164,21 @@ export function fetchRepoFailure( export function createRepo( link: string, repository: Repository, - callback?: () => void + callback?: (repo: Repository) => void ) { return function(dispatch: any) { dispatch(createRepoPending()); return apiClient .post(link, repository, CONTENT_TYPE) - .then(() => { + .then(response => { + const location = response.headers.get("Location"); dispatch(createRepoSuccess()); + return apiClient.get(location); + }) + .then(response => response.json()) + .then(response => { if (callback) { - callback(); + callback(response); } }) .catch(err => { From 2494daebd49be4d8c3299d8462133375b0110162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maren=20S=C3=BCwer?= Date: Tue, 22 Jan 2019 13:09:06 +0100 Subject: [PATCH 4/9] fix tests --- scm-ui/src/repos/modules/repos.test.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/scm-ui/src/repos/modules/repos.test.js b/scm-ui/src/repos/modules/repos.test.js index e8d9873e99..0670550c18 100644 --- a/scm-ui/src/repos/modules/repos.test.js +++ b/scm-ui/src/repos/modules/repos.test.js @@ -415,9 +415,14 @@ describe("repos fetch", () => { it("should successfully create repo slarti/fjords", () => { fetchMock.postOnce(REPOS_URL, { - status: 201 + status: 201, + headers: { + location: "repositories/slarti/fjords" + } }); + fetchMock.getOnce(REPOS_URL + "/slarti/fjords", slartiFjords); + const expectedActions = [ { type: CREATE_REPO_PENDING @@ -435,9 +440,14 @@ describe("repos fetch", () => { it("should successfully create repo slarti/fjords and call the callback", () => { fetchMock.postOnce(REPOS_URL, { - status: 201 + status: 201, + headers: { + location: "repositories/slarti/fjords" + } }); + fetchMock.getOnce(REPOS_URL + "/slarti/fjords", slartiFjords); + let callMe = "not yet"; const callback = () => { From f92d6925842cdc9ba2b647ed44a98cf3c09fe50d Mon Sep 17 00:00:00 2001 From: Philipp Czora Date: Wed, 23 Jan 2019 10:48:31 +0100 Subject: [PATCH 5/9] Test whether callback is called with correct parameter --- scm-ui/src/repos/modules/repos.test.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scm-ui/src/repos/modules/repos.test.js b/scm-ui/src/repos/modules/repos.test.js index 0670550c18..ca4b6802b8 100644 --- a/scm-ui/src/repos/modules/repos.test.js +++ b/scm-ui/src/repos/modules/repos.test.js @@ -446,11 +446,13 @@ describe("repos fetch", () => { } }); + fetchMock.getOnce(REPOS_URL + "/slarti/fjords", slartiFjords); let callMe = "not yet"; - const callback = () => { + const callback = (r: any) => { + expect(r).toEqual(slartiFjords); callMe = "yeah"; }; From 2a8640b9637c8367c3361bc6250f9a24a4bb1b60 Mon Sep 17 00:00:00 2001 From: Philipp Czora Date: Wed, 23 Jan 2019 11:53:07 +0100 Subject: [PATCH 6/9] Switched to recent buildfrontend-maven-plugin version to prevent issues with SQ --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e04a47ef41..41d06e8ca3 100644 --- a/pom.xml +++ b/pom.xml @@ -386,7 +386,7 @@ com.github.sdorra buildfrontend-maven-plugin - 2.1.1 + 2.2.0 org.apache.maven.plugins From 3ddbdc6ca0a758957aea688726a4f04be98c315b Mon Sep 17 00:00:00 2001 From: Philipp Czora Date: Wed, 23 Jan 2019 14:24:25 +0100 Subject: [PATCH 7/9] Configured Sonarqube to use the correct node path --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index 41d06e8ca3..39f1bc15d8 100644 --- a/pom.xml +++ b/pom.xml @@ -817,6 +817,10 @@ **/*StoreFactory.java,**/*UserPassword.js + 8.11.3 + ./target/frontend/buildfrontend-node/node-v${node.version}-linux-x64/bin/node + + From 8d7435f8064f50c0e3a00b1130803bab76ede3c1 Mon Sep 17 00:00:00 2001 From: Philipp Czora Date: Wed, 23 Jan 2019 14:46:49 +0100 Subject: [PATCH 8/9] Fixed node path/version --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 39f1bc15d8..5b300fb634 100644 --- a/pom.xml +++ b/pom.xml @@ -817,8 +817,8 @@ **/*StoreFactory.java,**/*UserPassword.js - 8.11.3 - ./target/frontend/buildfrontend-node/node-v${node.version}-linux-x64/bin/node + 8.11.4 + ./scm-ui/target/frontend/buildfrontend-node/node-v${node.version}-linux-x64/bin/node From e2ad44c69497d99fbd9f98f553115289ae2264d2 Mon Sep 17 00:00:00 2001 From: Philipp Czora Date: Wed, 23 Jan 2019 14:12:40 +0000 Subject: [PATCH 9/9] Close branch feature/openElementAfterCreation