added method for disable users
This commit is contained in:
parent
9b91118486
commit
4fcb1cec73
@ -1,22 +1,50 @@
|
||||
import { Button } from "@docspace/shared/components/button";
|
||||
import { ModalDialog } from "@docspace/shared/components/modal-dialog";
|
||||
import { Button } from "@docspace/shared/components/button";
|
||||
import { toastr } from "@docspace/shared/components/toast";
|
||||
import { EmployeeStatus } from "@docspace/shared/enums";
|
||||
|
||||
import ModalDialogContainer from "../ModalDialogContainer";
|
||||
|
||||
const DisableUserDialog = ({ t, visible, onClose, isLoading }) => {
|
||||
const DisableUserDialog = ({
|
||||
t,
|
||||
visible,
|
||||
onClose,
|
||||
isLoading,
|
||||
fetchData,
|
||||
selection,
|
||||
updateUserStatus,
|
||||
}) => {
|
||||
const userIds = selection.map((user) => user.id);
|
||||
const onlyOneUser = userIds.length === 1;
|
||||
|
||||
let headerText = "";
|
||||
let bodyText = "";
|
||||
|
||||
headerText = onlyOneUser
|
||||
? t("ChangeUserStatusDialog:DisableUser")
|
||||
: t("ChangeUserStatusDialog:DisableUsers");
|
||||
|
||||
bodyText = onlyOneUser
|
||||
? t("ChangeUserStatusDialog:DisableUserDescription")
|
||||
: t("ChangeUserStatusDialog:DisableUsersDescription");
|
||||
|
||||
bodyText = bodyText + t("ChangeUserStatusDialog:DisableGeneralDescription");
|
||||
|
||||
const onClickDisableUser = async () => {
|
||||
await updateUserStatus(EmployeeStatus.Disabled, userIds);
|
||||
toastr.success(t("PeopleTranslations:SuccessChangeUserStatus"));
|
||||
await fetchData();
|
||||
onClose();
|
||||
};
|
||||
|
||||
return (
|
||||
<ModalDialogContainer
|
||||
visible={visible}
|
||||
onClose={onClose}
|
||||
displayType="modal"
|
||||
>
|
||||
<ModalDialog.Header>
|
||||
{t("ChangeUserStatusDialog:DisableUser")}
|
||||
</ModalDialog.Header>
|
||||
<ModalDialog.Body>
|
||||
{t("ChangeUserStatusDialog:DisableUserDescription")}
|
||||
{t("ChangeUserStatusDialog:DisableGeneralDescription")}
|
||||
</ModalDialog.Body>
|
||||
<ModalDialog.Header>{headerText}</ModalDialog.Header>
|
||||
<ModalDialog.Body>{bodyText}</ModalDialog.Body>
|
||||
<ModalDialog.Footer>
|
||||
<Button
|
||||
key="DisableBtn"
|
||||
@ -24,7 +52,7 @@ const DisableUserDialog = ({ t, visible, onClose, isLoading }) => {
|
||||
size="normal"
|
||||
scale
|
||||
primary={true}
|
||||
onClick={() => console.log("disable")}
|
||||
onClick={onClickDisableUser}
|
||||
isLoading={isLoading}
|
||||
/>
|
||||
<Button
|
||||
|
@ -98,6 +98,7 @@ const Sessions = ({
|
||||
onClickLogoutAllSessions,
|
||||
onClickLogoutAllExceptThis,
|
||||
onClickRemoveSession,
|
||||
updateUserStatus,
|
||||
}) => {
|
||||
useEffect(() => {
|
||||
socketHelper.emit({
|
||||
@ -161,6 +162,9 @@ const Sessions = ({
|
||||
t={t}
|
||||
visible={disableDialogVisible}
|
||||
onClose={() => setDisableDialogVisible(false)}
|
||||
fetchData={fetchData}
|
||||
selection={selection}
|
||||
updateUserStatus={updateUserStatus}
|
||||
/>
|
||||
)}
|
||||
|
||||
@ -192,6 +196,7 @@ const Sessions = ({
|
||||
};
|
||||
|
||||
export default inject(({ settingsStore, setup, peopleStore }) => {
|
||||
const { updateUserStatus } = peopleStore.usersStore;
|
||||
const { socketHelper, currentDeviceType } = settingsStore;
|
||||
const {
|
||||
allSessions,
|
||||
@ -246,6 +251,7 @@ export default inject(({ settingsStore, setup, peopleStore }) => {
|
||||
onClickLogoutAllSessions,
|
||||
onClickLogoutAllExceptThis,
|
||||
onClickRemoveSession,
|
||||
updateUserStatus,
|
||||
};
|
||||
})(
|
||||
withTranslation(["Settings", "Profile", "Common", "ChangeUserStatusDialog"])(
|
||||
|
@ -511,9 +511,10 @@ class SelectionStore {
|
||||
const { getUsersList } = this.peopleStore.usersStore;
|
||||
try {
|
||||
const users = await getUsersList();
|
||||
const sessionsPromises = users.map((user) =>
|
||||
getUserSessionsById(user.id),
|
||||
);
|
||||
const sessionsPromises = users
|
||||
.filter((user) => user.status !== EmployeeStatus.Disabled)
|
||||
.map((user) => getUserSessionsById(user.id));
|
||||
|
||||
const sessions = await Promise.all(sessionsPromises);
|
||||
this.setSessionsData(sessions);
|
||||
this.updateAllSessions(sessions, this.dataFromSocket);
|
||||
|
Loading…
Reference in New Issue
Block a user