From 41e4af4e656094ce6af519508cc8ec5ff3e9bcb6 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Fri, 11 Oct 2024 12:23:47 -0700 Subject: [PATCH] improvement: adjust policy UI for flow/clarity --- .../GeneralPermissionConditions.tsx | 8 ++- .../components/GeneralPermissionPolicies.tsx | 68 +++++++++++-------- .../components/SecretPermissionConditions.tsx | 8 ++- 3 files changed, 50 insertions(+), 34 deletions(-) diff --git a/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionConditions.tsx b/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionConditions.tsx index 989b7c19b..3d147c708 100644 --- a/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionConditions.tsx +++ b/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionConditions.tsx @@ -43,7 +43,11 @@ export const GeneralPermissionConditions = ({ position = 0, isDisabled, type }: }); return ( -
+
+

Conditions

+

+ When this policy should apply (always if no conditions are added). +

{items.fields.map((el, index) => { const condition = watch(`permissions.secrets.${position}.conditions.${index}`) as { @@ -163,7 +167,7 @@ export const GeneralPermissionConditions = ({ position = 0, isDisabled, type }: }) } > - New Condition + Add Condition
diff --git a/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionPolicies.tsx b/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionPolicies.tsx index 5a7a0fdef..58c403579 100644 --- a/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionPolicies.tsx +++ b/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/GeneralPermissionPolicies.tsx @@ -73,6 +73,44 @@ export const GeneralPermissionPolicies = {items.fields.map((el, rootIndex) => (
+ {isConditionalSubjects(subject) && ( +
+
Permission
+
+ ( + + )} + /> +
+
+ +

+ Whether to allow or forbid the selected actions when the following + conditions (if any) are met. +

+

Forbid rules must come after allow rules.

+ + } + > + +
+
+
+ )}
Actions
@@ -101,36 +139,6 @@ export const GeneralPermissionPolicies =
- {isConditionalSubjects(subject) && ( -
-
Effect
-
- ( - - )} - /> -
-
- - - -
-
- )} {children && cloneElement(children, { position: rootIndex diff --git a/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/SecretPermissionConditions.tsx b/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/SecretPermissionConditions.tsx index e0e5aa471..b858545de 100644 --- a/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/SecretPermissionConditions.tsx +++ b/frontend/src/views/Project/RolePage/components/RolePermissionsSection/components/SecretPermissionConditions.tsx @@ -36,7 +36,11 @@ export const SecretPermissionConditions = ({ position = 0, isDisabled }: Props) }); return ( -
+
+

Conditions

+

+ When this policy should apply (always if no conditions are added). +

{items.fields.map((el, index) => { const condition = watch(`permissions.secrets.${position}.conditions.${index}`) as { @@ -157,7 +161,7 @@ export const SecretPermissionConditions = ({ position = 0, isDisabled }: Props) }) } > - New Condition + Add Condition