mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
moved funcs from singleuser to deleteuser + renamed edit to general
This commit is contained in:
@@ -38,8 +38,8 @@
|
||||
"navigationLabel": "User Navigation",
|
||||
"informationNavLink": "Information",
|
||||
"settingsNavLink": "Settings",
|
||||
"editNavLink": "Edit",
|
||||
"setPasswordNavLink": "Set password",
|
||||
"editNavLink": "General",
|
||||
"setPasswordNavLink": "Password",
|
||||
"errorTitle": "Error",
|
||||
"errorSubtitle": "Unknown user error"
|
||||
},
|
||||
|
||||
@@ -3,15 +3,37 @@ import React from "react";
|
||||
import { translate } from "react-i18next";
|
||||
import type { User } from "@scm-manager/ui-types";
|
||||
import { DeleteButton, confirmAlert } from "@scm-manager/ui-components";
|
||||
import {connect} from "react-redux";
|
||||
import {
|
||||
deleteUser, fetchUserByName,
|
||||
getDeleteUserFailure,
|
||||
getUserByName,
|
||||
isDeleteUserPending,
|
||||
} from "../modules/users";
|
||||
import type {History} from "history";
|
||||
|
||||
type Props = {
|
||||
user: User,
|
||||
confirmDialog?: boolean,
|
||||
|
||||
// dispatcher functions
|
||||
fetchUserByName: (string, string) => void,
|
||||
deleteUser: (user: User, callback?: () => void) => void,
|
||||
|
||||
// context objects
|
||||
t: string => string,
|
||||
deleteUser: (user: User) => void
|
||||
history: History
|
||||
};
|
||||
|
||||
class DeleteUser extends React.Component<Props> {
|
||||
userDeleted = () => {
|
||||
this.props.history.push("/users");
|
||||
};
|
||||
|
||||
deleteUser = (user: User) => {
|
||||
this.props.deleteUser(user, this.userDeleted);
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
confirmDialog: true
|
||||
};
|
||||
@@ -53,4 +75,34 @@ class DeleteUser extends React.Component<Props> {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
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);
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from "react";
|
||||
import { mount, shallow } from "enzyme";
|
||||
import "../../tests/enzyme";
|
||||
import "../../../tests/i18n";
|
||||
import DeleteUser from "../DeleteUser";
|
||||
import DeleteUser from "./DeleteUser";
|
||||
|
||||
import { confirmAlert } from "@scm-manager/ui-components";
|
||||
jest.mock("@scm-manager/ui-components", () => ({
|
||||
|
||||
@@ -17,14 +17,10 @@ import type { User } from "@scm-manager/ui-types";
|
||||
import type { History } from "history";
|
||||
import {
|
||||
fetchUserByName,
|
||||
deleteUser,
|
||||
getUserByName,
|
||||
isFetchUserPending,
|
||||
getFetchUserFailure,
|
||||
isDeleteUserPending,
|
||||
getDeleteUserFailure
|
||||
getFetchUserFailure
|
||||
} from "../modules/users";
|
||||
|
||||
import {
|
||||
EditUserNavLink,
|
||||
SetPasswordNavLink
|
||||
@@ -40,8 +36,7 @@ type Props = {
|
||||
error: Error,
|
||||
usersLink: string,
|
||||
|
||||
// dispatcher functions
|
||||
deleteUser: (user: User, callback?: () => void) => void,
|
||||
// dispatcher function
|
||||
fetchUserByName: (string, string) => void,
|
||||
|
||||
// context objects
|
||||
@@ -55,14 +50,6 @@ class SingleUser extends React.Component<Props> {
|
||||
this.props.fetchUserByName(this.props.usersLink, this.props.name);
|
||||
}
|
||||
|
||||
userDeleted = () => {
|
||||
this.props.history.push("/users");
|
||||
};
|
||||
|
||||
deleteUser = (user: User) => {
|
||||
this.props.deleteUser(user, this.userDeleted);
|
||||
};
|
||||
|
||||
stripEndingSlash = (url: string) => {
|
||||
if (url.endsWith("/")) {
|
||||
return url.substring(0, url.length - 2);
|
||||
@@ -99,7 +86,7 @@ class SingleUser extends React.Component<Props> {
|
||||
<div className="column is-three-quarters">
|
||||
<Route path={url} exact component={() => <Details user={user} />} />
|
||||
<Route
|
||||
path={`${url}/settings/edit`}
|
||||
path={`${url}/settings/general`}
|
||||
component={() => <EditUser user={user} />}
|
||||
/>
|
||||
<Route
|
||||
@@ -115,10 +102,10 @@ class SingleUser extends React.Component<Props> {
|
||||
label={t("single-user.informationNavLink")}
|
||||
/>
|
||||
<SubNavigation
|
||||
to={`${url}/settings/edit`}
|
||||
to={`${url}/settings/general`}
|
||||
label={t("single-user.settingsNavLink")}
|
||||
>
|
||||
<EditUserNavLink user={user} editUrl={`${url}/settings/edit`} />
|
||||
<EditUserNavLink user={user} editUrl={`${url}/settings/general`} />
|
||||
<SetPasswordNavLink
|
||||
user={user}
|
||||
passwordUrl={`${url}/settings/password`}
|
||||
@@ -136,10 +123,8 @@ class SingleUser extends React.Component<Props> {
|
||||
const mapStateToProps = (state, ownProps) => {
|
||||
const name = ownProps.match.params.name;
|
||||
const user = getUserByName(state, name);
|
||||
const loading =
|
||||
isFetchUserPending(state, name) || isDeleteUserPending(state, name);
|
||||
const error =
|
||||
getFetchUserFailure(state, name) || getDeleteUserFailure(state, name);
|
||||
const loading = isFetchUserPending(state, name);
|
||||
const error = getFetchUserFailure(state, name);
|
||||
const usersLink = getUsersLink(state);
|
||||
return {
|
||||
usersLink,
|
||||
@@ -154,9 +139,6 @@ const mapDispatchToProps = dispatch => {
|
||||
return {
|
||||
fetchUserByName: (link: string, name: string) => {
|
||||
dispatch(fetchUserByName(link, name));
|
||||
},
|
||||
deleteUser: (user: User, callback?: () => void) => {
|
||||
dispatch(deleteUser(user, callback));
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user