diff --git a/scm-ui/src/users/components/DeleteUser.js b/scm-ui/src/users/components/DeleteUser.js index ec3bf57a15..7932e14558 100644 --- a/scm-ui/src/users/components/DeleteUser.js +++ b/scm-ui/src/users/components/DeleteUser.js @@ -3,19 +3,16 @@ import React from "react"; import { translate } from "react-i18next"; import { Subtitle, DeleteButton, confirmAlert } from "@scm-manager/ui-components"; import type { User } from "@scm-manager/ui-types"; -import type { History } from "history"; type Props = { user: User, confirmDialog?: boolean, // dispatcher functions - fetchUserByName: (string, string) => void, - deleteUser: (user: User, callback?: () => void) => void, + deleteUser: (user: User) => void, // context objects - t: string => string, - history: History + t: string => string }; class DeleteUser extends React.Component { @@ -23,14 +20,6 @@ class DeleteUser extends React.Component { confirmDialog: true }; - userDeleted = () => { - this.props.history.push("/users"); - }; - - deleteUser = (user: User) => { - this.props.deleteUser(user, this.userDeleted); - }; - deleteUser = () => { this.props.deleteUser(this.props.user); }; @@ -80,34 +69,4 @@ class DeleteUser extends React.Component { } } -/* -const mapStateToProps = (state, ownProps) => { - const name = ownProps.match.params.name; - const user = getUserByName(state, name); - const loading = isDeleteUserPending(state, name); - const error = getDeleteUserFailure(state, name); - return { - name, - user, - loading, - error - }; -}; - -const mapDispatchToProps = dispatch => { - return { - fetchUserByName: (link: string, name: string) => { - dispatch(fetchUserByName(link, name)); - }, - deleteUser: (user: User, callback?: () => void) => { - dispatch(deleteUser(user, callback)); - } - }; -}; - -export default connect( - mapStateToProps, - mapDispatchToProps -)(translate("users")(DeleteUser)); -*/ export default translate("users")(DeleteUser); diff --git a/scm-ui/src/users/containers/GeneralUser.js b/scm-ui/src/users/containers/GeneralUser.js index f386994460..cb578d6f1e 100644 --- a/scm-ui/src/users/containers/GeneralUser.js +++ b/scm-ui/src/users/containers/GeneralUser.js @@ -7,9 +7,12 @@ import DeleteUser from "../components/DeleteUser"; import type { User } from "@scm-manager/ui-types"; import { modifyUser, + deleteUser, isModifyUserPending, getModifyUserFailure, - modifyUserReset + modifyUserReset, + isDeleteUserPending, + getDeleteUserFailure } from "../modules/users"; import type { History } from "history"; import { ErrorNotification } from "@scm-manager/ui-components"; @@ -21,6 +24,7 @@ type Props = { // dispatch functions modifyUser: (user: User, callback?: () => void) => void, modifyUserReset: User => void, + deleteUser: (user: User, callback?: () => void) => void, // context objects user: User, @@ -32,6 +36,7 @@ class GeneralUser extends React.Component { const { modifyUserReset, user } = this.props; modifyUserReset(user); } + userModified = (user: User) => () => { this.props.history.push(`/user/${user.name}`); }; @@ -40,6 +45,14 @@ class GeneralUser extends React.Component { this.props.modifyUser(user, this.userModified(user)); }; + userDeleted = () => { + this.props.history.push("/users"); + }; + + deleteUser = (user: User) => { + this.props.deleteUser(user, this.userDeleted); + }; + render() { const { user, loading, error } = this.props; return ( @@ -51,15 +64,15 @@ class GeneralUser extends React.Component { loading={loading} />
- + ); } } const mapStateToProps = (state, ownProps) => { - const loading = isModifyUserPending(state, ownProps.user.name); - const error = getModifyUserFailure(state, ownProps.user.name); + const loading = isModifyUserPending(state, ownProps.user.name) || isDeleteUserPending(state, ownProps.user.name); + const error = getModifyUserFailure(state, ownProps.user.name) || getDeleteUserFailure(state, ownProps.user.name); return { loading, error @@ -73,6 +86,9 @@ const mapDispatchToProps = dispatch => { }, modifyUserReset: (user: User) => { dispatch(modifyUserReset(user)); + }, + deleteUser: (user: User, callback?: () => void) => { + dispatch(deleteUser(user, callback)); } }; };