checking category for group changes
parent
42fa527e72
commit
6a595238ca
|
@ -8,7 +8,6 @@ i18n
|
||||||
.use(LanguageDetector)
|
.use(LanguageDetector)
|
||||||
.use(Backend)
|
.use(Backend)
|
||||||
.init({
|
.init({
|
||||||
debug: true,
|
|
||||||
supportedLngs: ["en", "de"],
|
supportedLngs: ["en", "de"],
|
||||||
fallbackLng: "en",
|
fallbackLng: "en",
|
||||||
interpolation: {
|
interpolation: {
|
||||||
|
|
95
src/utils.js
95
src/utils.js
|
@ -141,6 +141,7 @@ let webSocketContextPreview = {
|
||||||
Email: l,
|
Email: l,
|
||||||
Sessions: [],
|
Sessions: [],
|
||||||
Permissions: [],
|
Permissions: [],
|
||||||
|
RoleId: "",
|
||||||
},
|
},
|
||||||
AllUsers: [],
|
AllUsers: [],
|
||||||
AllRoles: [],
|
AllRoles: [],
|
||||||
|
@ -354,7 +355,7 @@ export function WebSocketProvider({
|
||||||
const updatedUser = { ...user };
|
const updatedUser = { ...user };
|
||||||
|
|
||||||
updatedUser.Permissions = updatedUser.Permissions.filter(
|
updatedUser.Permissions = updatedUser.Permissions.filter(
|
||||||
(arr) => !body.RemovedPermissions.some((a) => a === arr)
|
(arr) => !body.RemovedPermissions.includes(arr)
|
||||||
);
|
);
|
||||||
|
|
||||||
return updatedUser;
|
return updatedUser;
|
||||||
|
@ -366,7 +367,7 @@ export function WebSocketProvider({
|
||||||
newArr.forEach((role, i) => {
|
newArr.forEach((role, i) => {
|
||||||
if (role.Permissions !== null) {
|
if (role.Permissions !== null) {
|
||||||
newArr[i].Permissions = role.Permissions.filter(
|
newArr[i].Permissions = role.Permissions.filter(
|
||||||
(b) => !body.RemovedPermissions.some((c) => c === b)
|
(arr) => !body.RemovedPermissions.includes(arr)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -378,7 +379,6 @@ export function WebSocketProvider({
|
||||||
message: `Category ${body.RemovedCategory} was removed`,
|
message: `Category ${body.RemovedCategory} was removed`,
|
||||||
duration: 2,
|
duration: 2,
|
||||||
});
|
});
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -391,11 +391,6 @@ export function WebSocketProvider({
|
||||||
|
|
||||||
return newArr;
|
return newArr;
|
||||||
});
|
});
|
||||||
|
|
||||||
notificationApi["info"]({
|
|
||||||
message: `Group ${body.Category} reloaded`,
|
|
||||||
duration: 2,
|
|
||||||
});
|
|
||||||
break;
|
break;
|
||||||
case ReceivedMessagesCommands.UpdateUserSessions:
|
case ReceivedMessagesCommands.UpdateUserSessions:
|
||||||
setUser((arr) => ({ ...arr, Sessions: body }));
|
setUser((arr) => ({ ...arr, Sessions: body }));
|
||||||
|
@ -868,6 +863,90 @@ export function WebSocketProvider({
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case ReceivedMessagesCommands.GroupTasksCategoryGroupChanges:
|
case ReceivedMessagesCommands.GroupTasksCategoryGroupChanges:
|
||||||
|
if (
|
||||||
|
body["AddedPermissions"] !== undefined ||
|
||||||
|
body["RemovedPermissions"] !== undefined
|
||||||
|
) {
|
||||||
|
setUser((user) => {
|
||||||
|
const updatedUser = { ...user };
|
||||||
|
|
||||||
|
if (
|
||||||
|
body.AddedPermissions !== undefined &&
|
||||||
|
updatedUser.RoleId === body.MasterRoleId
|
||||||
|
) {
|
||||||
|
updatedUser.Permissions = updatedUser.Permissions.concat(
|
||||||
|
body.AddedPermissions
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (body.RemovedPermissions !== undefined) {
|
||||||
|
updatedUser.Permissions = updatedUser.Permissions.filter(
|
||||||
|
(permission) => !body.RemovedPermissions.includes(permission)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return updatedUser;
|
||||||
|
});
|
||||||
|
|
||||||
|
setAdminAreaRolesPermissions((arr) => {
|
||||||
|
let newArr = [...arr];
|
||||||
|
|
||||||
|
const roleIndex = arr.findIndex(
|
||||||
|
(item) => item.RoleId === body.MasterRoleId
|
||||||
|
);
|
||||||
|
|
||||||
|
if (roleIndex !== -1) {
|
||||||
|
if (body.AddedPermissions !== undefined) {
|
||||||
|
newArr[roleIndex].Permissions = newArr[
|
||||||
|
roleIndex
|
||||||
|
].Permissions.concat(body.AddedPermissions);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (body.RemovedPermissions !== undefined) {
|
||||||
|
newArr[roleIndex].Permissions = newArr[
|
||||||
|
roleIndex
|
||||||
|
].Permissions.filter(
|
||||||
|
(permission) =>
|
||||||
|
!body.RemovedPermissions.includes(permission)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return newArr;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
body["AddedCategoryGroups"] !== undefined ||
|
||||||
|
body["RemovedCategoryGroups"] !== undefined
|
||||||
|
) {
|
||||||
|
setCategoryGroups((arr) => {
|
||||||
|
let newArr = [...arr];
|
||||||
|
|
||||||
|
if (body["RemovedCategoryGroups"] !== undefined) {
|
||||||
|
newArr = newArr.filter(
|
||||||
|
(c) => !body.RemovedCategoryGroups.includes(c.category)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (body["AddedCategoryGroups"] !== undefined) {
|
||||||
|
newArr = newArr.concat(body.AddedCategoryGroups);
|
||||||
|
}
|
||||||
|
|
||||||
|
newArr = newArr.sort((a, b) => {
|
||||||
|
if (a.category < b.category) {
|
||||||
|
return -1; // a below b
|
||||||
|
} else if (a.category > b.category) {
|
||||||
|
return 1; // a above b
|
||||||
|
} else {
|
||||||
|
return 0; // keep the order
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return newArr;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue