diff --git a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceDefinition.jsx b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceDefinition.jsx
index 188e1a0f53..3fbe68d405 100644
--- a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceDefinition.jsx
+++ b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceDefinition.jsx
@@ -155,9 +155,9 @@ class ServiceDefinition extends Component {
{resources[key].isExcludes !== undefined ? (
{resources[key].isExcludes ? (
- Include
- ) : (
Exclude
+ ) : (
+ Include
)}
) : (
diff --git a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
index 0d281f6385..30a16752eb 100644
--- a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
+++ b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
@@ -226,53 +226,37 @@ class ServiceForm extends Component {
if (key === "resources" && !isEmpty(value)) {
obj.resources = {};
- let levels = uniq(map(serviceDef.resources, "level"));
-
- levels.map((level) => {
- let resourceObj = find(serviceDef.resources, {
- level: level,
- name: value[`resourceName-${level}`]?.name
- });
- if (
- value[`resourceName-${level}`] !== undefined &&
- value[`value-${level}`] !== undefined
- ) {
- obj.resources[value[`resourceName-${level}`].name] = {
- values: isArray(value[`value-${level}`])
- ? map(value[`value-${level}`], "value")
- : [value[`value-${level}`].value]
+ const levels = uniq(map(serviceDef.resources, "level"));
+
+ levels.forEach((level) => {
+ const resourceName = value[`resourceName-${level}`]?.name;
+ const resourceValue = value[`value-${level}`];
+ const isRecursiveSupport = value[`isRecursiveSupport-${level}`];
+ const isExcludesSupport = value[`isExcludesSupport-${level}`];
+
+ if (resourceName && resourceValue !== undefined) {
+ const resourceObj = find(serviceDef.resources, {
+ level,
+ name: resourceName
+ });
+
+ obj.resources[resourceName] = {
+ values: Array.isArray(resourceValue)
+ ? map(resourceValue, "value")
+ : [resourceValue.value]
};
- if (
- value[`isRecursiveSupport-${level}`] !== undefined &&
- resourceObj.recursiveSupported
- ) {
- obj.resources[
- value[`resourceName-${level}`].name
- ].isRecursive = value[`isRecursiveSupport-${level}`];
- } else if (
- value[`isRecursiveSupport-${level}`] === undefined &&
- resourceObj.recursiveSupported
- ) {
- obj.resources[
- value[`resourceName-${level}`].name
- ].isRecursive = resourceObj.recursiveSupported;
+ if (resourceObj?.recursiveSupported) {
+ obj.resources[resourceName].isRecursive =
+ isRecursiveSupport !== undefined
+ ? isRecursiveSupport
+ : resourceObj.recursiveSupported;
}
-
- if (
- value[`isExcludesSupport-${level}`] !== undefined &&
- resourceObj.excludesSupported
- ) {
- obj.resources[
- value[`resourceName-${level}`].name
- ].isExcludes = value[`isExcludesSupport-${level}`];
- } else if (
- value[`isExcludesSupport-${level}`] === undefined &&
- resourceObj.excludesSupported
- ) {
- obj.resources[
- value[`resourceName-${level}`].name
- ].isExcludes = resourceObj.excludesSupported;
+ if (resourceObj?.excludesSupported) {
+ obj.resources[resourceName].isExcludes =
+ isExcludesSupport !== undefined
+ ? !isExcludesSupport
+ : false;
}
}
});
@@ -521,7 +505,7 @@ class ServiceForm extends Component {
);
if (setResources?.excludesSupported) {
obj.resources[`isExcludesSupport-${setResources.level}`] =
- value?.isExcludes != false;
+ value?.isExcludes ? !value.isExcludes : true;
}
if (setResources?.recursiveSupported) {
obj.resources[`isRecursiveSupport-${setResources.level}`] =
diff --git a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceViewDetails.jsx b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceViewDetails.jsx
index 9ac234474f..9ee6b2f389 100644
--- a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceViewDetails.jsx
+++ b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceViewDetails.jsx
@@ -98,9 +98,9 @@ export const ServiceViewDetails = (props) => {
{resources[key].isExcludes !== undefined ? (
{resources[key].isExcludes ? (
- Include
- ) : (
Exclude
+ ) : (
+ Include
)}
) : (