Web: People: fixed updating of user information after editing

This commit is contained in:
Artem Tarasov 2021-03-19 19:06:55 +03:00
parent d8be47b1d1
commit 4d9920a4d0
5 changed files with 20 additions and 11 deletions

View File

@ -384,9 +384,11 @@ class SectionHeaderContent extends React.PureComponent {
}; };
onClickBack = () => { onClickBack = () => {
const { filter, setFilter, history, settings } = this.props; const { filter, setFilter, history, settings, resetProfile } = this.props;
resetProfile();
history.push(settings.homepage); history.push(settings.homepage);
setFilter(filter); //setFilter(filter);
}; };
render() { render() {

View File

@ -47,6 +47,7 @@ import {
mapGroupsToGroupSelectorOptions, mapGroupsToGroupSelectorOptions,
toEmployeeWrapper, toEmployeeWrapper,
} from "../../../../helpers/people-helpers"; } from "../../../../helpers/people-helpers";
import { getUserList } from "@appserver/common/api/people/fake";
const dialogsDataset = { const dialogsDataset = {
changeEmail: "changeEmail", changeEmail: "changeEmail",
@ -265,6 +266,7 @@ class UpdateUserForm extends React.Component {
} }
handleSubmit() { handleSubmit() {
const { getUsersList, filter } = this.props;
if (!this.validate()) return false; if (!this.validate()) return false;
const { const {
@ -926,5 +928,6 @@ export default withRouter(
updateProfile: peopleStore.targetUserStore.updateProfile, updateProfile: peopleStore.targetUserStore.updateProfile,
getUserPhoto: peopleStore.targetUserStore.getUserPhoto, getUserPhoto: peopleStore.targetUserStore.getUserPhoto,
disableProfileType: peopleStore.targetUserStore.getDisableProfileType, disableProfileType: peopleStore.targetUserStore.getDisableProfileType,
getUsersList: peopleStore.usersStore.getUsersList,
}))(observer(withTranslation("ProfileAction")(UpdateUserForm))) }))(observer(withTranslation("ProfileAction")(UpdateUserForm)))
); );

View File

@ -6,6 +6,9 @@ import Headline from "@appserver/common/components/Headline";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { inject, observer } from "mobx-react"; import { inject, observer } from "mobx-react";
import config from "../../../../../package.json";
const homepage = config.homepage;
const Wrapper = styled.div` const Wrapper = styled.div`
display: grid; display: grid;
grid-template-columns: auto 1fr auto auto; grid-template-columns: auto 1fr auto auto;
@ -61,15 +64,15 @@ const SectionHeaderContent = (props) => {
const setFilterAndReset = useCallback( const setFilterAndReset = useCallback(
(filter) => { (filter) => {
props.resetProfile(); props.resetProfile();
history.goBack();
setFilter(filter); setFilter(filter);
}, },
[props, setFilter] [props, setFilter]
); );
const goBackAndReset = useCallback(() => { const goBackAndReset = useCallback(() => {
props.resetProfile(); if (!profile || !document.referrer) setFilterAndReset(filter);
history.push(`/products/people/view/${profile.userName}`); else props.resetProfile();
history.push(`${homepage}/view/${profile.userName}`);
}, [history, props]); }, [history, props]);
const onClickBack = useCallback(() => { const onClickBack = useCallback(() => {

View File

@ -32,12 +32,12 @@ class TargetUserStore {
} }
getTargetUser = async (userName) => { getTargetUser = async (userName) => {
if (authStore.userStore.user.userName === userName) { /*if (authStore.userStore.user.userName === userName) {
return this.setTargetUser(authStore.userStore.user); return this.setTargetUser(authStore.userStore.user);
} else { } else {*/
const user = await api.people.getUser(userName); const user = await api.people.getUser(userName);
return this.setTargetUser(user); return this.setTargetUser(user);
} //}
}; };
setTargetUser = (user) => { setTargetUser = (user) => {

View File

@ -98,7 +98,8 @@ class UsersStore {
updatedProfile = this.peopleStore.targetUserStore.targetUser; updatedProfile = this.peopleStore.targetUserStore.targetUser;
} }
const { userName } = updatedProfile; const { userName } = updatedProfile;
const oldProfile = this.users.filter((u) => u.userName === userName); const oldProfileArr = this.users.filter((u) => u.userName === userName);
const oldProfile = oldProfileArr[0];
const newProfile = {}; const newProfile = {};
for (let key in oldProfile) { for (let key in oldProfile) {