category group changes
parent
0300744d22
commit
42fa527e72
|
@ -65,6 +65,9 @@
|
||||||
"groupTasks.groupTasksTableList.button.reload": "Neu laden",
|
"groupTasks.groupTasksTableList.button.reload": "Neu laden",
|
||||||
"groupTasks.groupTasksTableList.popover.title": "Sind Sie sicher, dass Sie die Gruppenkonfigurationen neu laden wollen?",
|
"groupTasks.groupTasksTableList.popover.title": "Sind Sie sicher, dass Sie die Gruppenkonfigurationen neu laden wollen?",
|
||||||
"groupTasks.groupTasksTableList.popover.buttonOk": "Ja",
|
"groupTasks.groupTasksTableList.popover.buttonOk": "Ja",
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges": "Prüfung auf Änderungen der Kategoriegruppen",
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges.checkingForCategoryGroupChanges.popover.title": "Sind Sie sicher, dass Sie die Kategoriegruppen prüfen wollen? (Während der Prüfung schaut der Server nach neuen Kategoriegruppen und löscht ggf. nicht mehr vorhandene)",
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges.popover.buttonOk": "Prüfen",
|
||||||
"logCard.popover.groupTaskId.title": "Gruppenaufgabe",
|
"logCard.popover.groupTaskId.title": "Gruppenaufgabe",
|
||||||
"logCard.popover.groupTaskStep.title": "Gruppenaufgabe Schritt",
|
"logCard.popover.groupTaskStep.title": "Gruppenaufgabe Schritt",
|
||||||
"logCard.popover.role.title": "Rolle",
|
"logCard.popover.role.title": "Rolle",
|
||||||
|
|
|
@ -65,6 +65,9 @@
|
||||||
"groupTasks.groupTasksTableList.button.reload": "Reload",
|
"groupTasks.groupTasksTableList.button.reload": "Reload",
|
||||||
"groupTasks.groupTasksTableList.popover.title": "Are you sure you want to reload the group configs?",
|
"groupTasks.groupTasksTableList.popover.title": "Are you sure you want to reload the group configs?",
|
||||||
"groupTasks.groupTasksTableList.popover.buttonOk": "Yes",
|
"groupTasks.groupTasksTableList.popover.buttonOk": "Yes",
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges": "Checking for changes to the category groups",
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges.checkingForCategoryGroupChanges.popover.title": "Are you sure you want to check the category groups? (During the check, the server looks for new category groups and deletes any that no longer exist)",
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges.popover.buttonOk": "Verify",
|
||||||
"logCard.popover.groupTaskId.title": "Group Task",
|
"logCard.popover.groupTaskId.title": "Group Task",
|
||||||
"logCard.popover.groupTaskStep.title": "Group Task Step",
|
"logCard.popover.groupTaskStep.title": "Group Task Step",
|
||||||
"logCard.popover.role.title": "Role",
|
"logCard.popover.role.title": "Role",
|
||||||
|
|
|
@ -901,7 +901,6 @@ function GroupTaskStepLogHandler({ currentGroupTaskId, log, files }) {
|
||||||
{getTag(nonImageFile)}
|
{getTag(nonImageFile)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
console.log("url", getDownloadUrl(nonImageFile));
|
|
||||||
} else {
|
} else {
|
||||||
elements.push(getTag(nonImageFile));
|
elements.push(getTag(nonImageFile));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,17 @@
|
||||||
import { Result } from "antd";
|
import { Button, Popconfirm, Result } from "antd";
|
||||||
import { useContext, useState } from "react";
|
import { useContext, useState } from "react";
|
||||||
import GroupTasksViewModal from "./GroupTasksViewModal";
|
import GroupTasksViewModal from "./GroupTasksViewModal";
|
||||||
import GroupTypeSelectionModal from "./GroupTypeSelectionModal";
|
import GroupTypeSelectionModal from "./GroupTypeSelectionModal";
|
||||||
import GroupTaskTableList from "./GroupTasksTableList";
|
import GroupTaskTableList from "./GroupTasksTableList";
|
||||||
import { Constants, WebSocketContext, hasXYPermission } from "../../../utils";
|
import {
|
||||||
|
Constants,
|
||||||
|
SentMessagesCommands,
|
||||||
|
WebSocketContext,
|
||||||
|
hasPermission,
|
||||||
|
hasXYPermission,
|
||||||
|
} from "../../../utils";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { ReloadOutlined } from "@ant-design/icons";
|
||||||
|
|
||||||
export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
||||||
const [isGroupTypeSelectionModalOpen, setIsGroupTypeSelectionModalOpen] =
|
const [isGroupTypeSelectionModalOpen, setIsGroupTypeSelectionModalOpen] =
|
||||||
|
@ -30,6 +37,13 @@ export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const onCheckingForCategoryGroupChanges = () => {
|
||||||
|
webSocketContext.SendSocketMessage(
|
||||||
|
SentMessagesCommands.GroupTasksCheckingForCategoryGroupChanges,
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{webSocketContext.CategoryGroups.length === 0 ? (
|
{webSocketContext.CategoryGroups.length === 0 ? (
|
||||||
|
@ -69,6 +83,35 @@ export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<GroupTasksViewModal isOpen={isGroupTasksViewModalOpen} />
|
<GroupTasksViewModal isOpen={isGroupTasksViewModalOpen} />
|
||||||
|
|
||||||
|
{hasPermission(
|
||||||
|
webSocketContext.User.Permissions,
|
||||||
|
Constants.PERMISSIONS.GROUP_TASKS.CHECKING_FOR_CATEGORY_GROUP_CHANGES
|
||||||
|
) && (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: "flex",
|
||||||
|
justifyContent: "center",
|
||||||
|
marginTop: 20,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Popconfirm
|
||||||
|
placement="top"
|
||||||
|
okText={t(
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges.popover.buttonOk"
|
||||||
|
)}
|
||||||
|
cancelText={t("buttonCancel")}
|
||||||
|
title={t(
|
||||||
|
"groupTasks.button.checkingForCategoryGroupChanges.checkingForCategoryGroupChanges.popover.title"
|
||||||
|
)}
|
||||||
|
onConfirm={() => onCheckingForCategoryGroupChanges()}
|
||||||
|
>
|
||||||
|
<Button shape="round" icon={<ReloadOutlined />} size="large">
|
||||||
|
{t("groupTasks.button.checkingForCategoryGroupChanges")}
|
||||||
|
</Button>
|
||||||
|
</Popconfirm>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
45
src/utils.js
45
src/utils.js
|
@ -48,6 +48,8 @@ export const Constants = {
|
||||||
XYView: "group_tasks.overview.XY.view",
|
XYView: "group_tasks.overview.XY.view",
|
||||||
},
|
},
|
||||||
HISTORY: "group_tasks.history",
|
HISTORY: "group_tasks.history",
|
||||||
|
CHECKING_FOR_CATEGORY_GROUP_CHANGES:
|
||||||
|
"group_tasks.checking_for_category_group_changes",
|
||||||
},
|
},
|
||||||
ALL_USERS: {
|
ALL_USERS: {
|
||||||
CREATE_NEW_USER: "all_users.create_new_user",
|
CREATE_NEW_USER: "all_users.create_new_user",
|
||||||
|
@ -185,6 +187,7 @@ const ReceivedMessagesCommands = {
|
||||||
AllUsersNewUserCreated: 26,
|
AllUsersNewUserCreated: 26,
|
||||||
AllUsersUserDeleted: 27,
|
AllUsersUserDeleted: 27,
|
||||||
AllUsersUserDeactivation: 28,
|
AllUsersUserDeactivation: 28,
|
||||||
|
GroupTasksCategoryGroupChanges: 29,
|
||||||
};
|
};
|
||||||
|
|
||||||
// commands sent to the backend server
|
// commands sent to the backend server
|
||||||
|
@ -205,6 +208,7 @@ export const SentMessagesCommands = {
|
||||||
AllUsersUserDeactivation: 14,
|
AllUsersUserDeactivation: 14,
|
||||||
ScannersUseScanners: 15,
|
ScannersUseScanners: 15,
|
||||||
ScannersDisconnectScanner: 16,
|
ScannersDisconnectScanner: 16,
|
||||||
|
GroupTasksCheckingForCategoryGroupChanges: 17,
|
||||||
};
|
};
|
||||||
|
|
||||||
export function WebSocketProvider({
|
export function WebSocketProvider({
|
||||||
|
@ -341,12 +345,49 @@ export function WebSocketProvider({
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case ReceivedMessagesCommands.GroupTasksReloaded:
|
case ReceivedMessagesCommands.GroupTasksReloaded:
|
||||||
|
if (body.RemovedCategory !== undefined) {
|
||||||
|
setCategoryGroups((arr) =>
|
||||||
|
arr.filter((arr1) => arr1.category !== body.RemovedCategory)
|
||||||
|
);
|
||||||
|
|
||||||
|
setUser((user) => {
|
||||||
|
const updatedUser = { ...user };
|
||||||
|
|
||||||
|
updatedUser.Permissions = updatedUser.Permissions.filter(
|
||||||
|
(arr) => !body.RemovedPermissions.some((a) => a === arr)
|
||||||
|
);
|
||||||
|
|
||||||
|
return updatedUser;
|
||||||
|
});
|
||||||
|
|
||||||
|
setAdminAreaRolesPermissions((arr) => {
|
||||||
|
const newArr = [...arr];
|
||||||
|
|
||||||
|
newArr.forEach((role, i) => {
|
||||||
|
if (role.Permissions !== null) {
|
||||||
|
newArr[i].Permissions = role.Permissions.filter(
|
||||||
|
(b) => !body.RemovedPermissions.some((c) => c === b)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return newArr;
|
||||||
|
});
|
||||||
|
|
||||||
|
notificationApi["info"]({
|
||||||
|
message: `Category ${body.RemovedCategory} was removed`,
|
||||||
|
duration: 2,
|
||||||
|
});
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
setCategoryGroups((arr) => {
|
setCategoryGroups((arr) => {
|
||||||
const newArr = [...arr];
|
const newArr = [...arr];
|
||||||
|
|
||||||
newArr[
|
newArr[
|
||||||
arr.findIndex((arr1) => arr1.category === body.Category)
|
arr.findIndex((arr1) => arr1.category === body.Category)
|
||||||
].groups = body.UpdatedGroups;
|
].groups = body.CategoryGroups;
|
||||||
|
|
||||||
return newArr;
|
return newArr;
|
||||||
});
|
});
|
||||||
|
@ -826,6 +867,8 @@ export function WebSocketProvider({
|
||||||
return newArr;
|
return newArr;
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case ReceivedMessagesCommands.GroupTasksCategoryGroupChanges:
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.error("unknown command", cmd);
|
console.error("unknown command", cmd);
|
||||||
|
|
Loading…
Reference in New Issue