Web: People: fixed updating list of users after creating user

This commit is contained in:
Artem Tarasov 2020-10-05 10:50:50 +03:00
parent b82b55217b
commit 0cac098bdf
3 changed files with 37 additions and 35 deletions

View File

@ -31,7 +31,7 @@ class PureProfile extends React.Component {
}
componentDidMount() {
const { match, fetchProfile, t } = this.props;
const { match, fetchProfile, profile, t } = this.props;
const { userId } = match.params;
setDocumentTitle(t("Profile"));
@ -45,8 +45,9 @@ class PureProfile extends React.Component {
if (linkParams.email_change && linkParams.email_change === "success") {
toastr.success(t("ChangeEmailSuccess"));
}
fetchProfile(userId);
if (!profile) {
fetchProfile(userId);
}
}
componentDidUpdate(prevProps) {

View File

@ -180,6 +180,17 @@ export function removeUser(userId, filter) {
};
}
export function updateUserList(dispatch, filter) {
let filterData = filter && filter.clone();
if (!filterData) {
filterData = Filter.getDefault();
filterData.employeeStatus = EmployeeStatus.Active;
}
return api.people.getUserList(filterData).then((data) => {
return dispatch(setUsers(data.items));
});
}
function fetchPeopleByFilter(dispatch, filter) {
let filterData = filter && filter.clone();

View File

@ -1,5 +1,5 @@
import { getUserByUserName } from "../people/selectors";
import { fetchPeople, updateProfileInUsers } from "../people/actions";
import { updateUserList } from "../people/actions";
import { store, api } from "asc-web-common";
const { setCurrentUser } = store.auth.actions;
const { isMe } = store.auth.selectors;
@ -56,21 +56,18 @@ export function createProfile(profile) {
const member = employeeWrapperToMemberModel(profile);
let result;
return (
api.people
.createUser(member)
.then((user) => {
result = user;
return dispatch(setProfile(user));
})
/*
return api.people
.createUser(member)
.then((user) => {
result = user;
return dispatch(setProfile(user));
})
.then(() => {
return fetchPeople(filter, dispatch);
})*/
.then(() => {
return Promise.resolve(result);
})
);
return updateUserList(dispatch, filter);
})
.then(() => {
return Promise.resolve(result);
});
};
}
@ -81,20 +78,15 @@ export function updateProfile(profile) {
const member = employeeWrapperToMemberModel(profile);
let result;
return (
api.people
.updateUser(member)
.then((user) => {
result = user;
return Promise.resolve(dispatch(setProfile(user)));
})
/*.then(() => {
return fetchPeople(filter, dispatch);
})*/
.then(() => {
return Promise.resolve(result);
})
);
return api.people
.updateUser(member)
.then((user) => {
result = user;
return Promise.resolve(dispatch(setProfile(user)));
})
.then(() => {
return Promise.resolve(result);
});
};
}
@ -114,8 +106,7 @@ export function getUserPhoto(id) {
export function updateCreatedAvatar(avatar) {
return (dispatch, getState) => {
const { big, max, medium, small } = avatar;
const { profile, people } = getState();
const { filter } = people;
const { profile } = getState();
const newProfile = {
...profile.targetUser,
avatarMax: max,
@ -123,7 +114,6 @@ export function updateCreatedAvatar(avatar) {
avatar: big,
avatarSmall: small,
};
//fetchPeople(filter);
return dispatch(setProfile(newProfile));
};
}