From 28ac6d10ed77b43f8d4825be03b63cb1f1ba4806 Mon Sep 17 00:00:00 2001 From: Landon Shumway Date: Wed, 3 Jun 2026 16:05:35 -0400 Subject: [PATCH 1/3] Add 'surrender of privilege' encumbrance type for Cosm --- .../internal/api-specification/latest-oas30.json | 12 ++++++++---- .../common/cc_common/data_model/schema/common.py | 1 + .../stacks/api_stack/v1_api/api_model.py | 1 + .../LICENSE_ENCUMBRANCE_REQUEST_SCHEMA.json | 3 ++- .../PATCH_LICENSE_INVESTIGATION_REQUEST_SCHEMA.json | 3 ++- ...PATCH_PRIVILEGE_INVESTIGATION_REQUEST_SCHEMA.json | 3 ++- .../PRIVILEGE_ENCUMBRANCE_REQUEST_SCHEMA.json | 3 ++- 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/backend/cosmetology-app/docs/internal/api-specification/latest-oas30.json b/backend/cosmetology-app/docs/internal/api-specification/latest-oas30.json index aaeaab7439..77126003f3 100644 --- a/backend/cosmetology-app/docs/internal/api-specification/latest-oas30.json +++ b/backend/cosmetology-app/docs/internal/api-specification/latest-oas30.json @@ -2334,7 +2334,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ] } }, @@ -4008,7 +4009,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ] } }, @@ -4735,7 +4737,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ] } }, @@ -4774,7 +4777,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ] } }, diff --git a/backend/cosmetology-app/lambdas/python/common/cc_common/data_model/schema/common.py b/backend/cosmetology-app/lambdas/python/common/cc_common/data_model/schema/common.py index 8baf20d0a4..ccc3b485a3 100644 --- a/backend/cosmetology-app/lambdas/python/common/cc_common/data_model/schema/common.py +++ b/backend/cosmetology-app/lambdas/python/common/cc_common/data_model/schema/common.py @@ -380,6 +380,7 @@ class EncumbranceType(CCEnum): SUSPENSION = 'suspension' REVOCATION = 'revocation' SURRENDER_OF_LICENSE = 'surrender of license' + SURRENDER_OF_PRIVILEGE = 'surrender of privilege' class ClinicalPrivilegeActionCategory(CCEnum): diff --git a/backend/cosmetology-app/stacks/api_stack/v1_api/api_model.py b/backend/cosmetology-app/stacks/api_stack/v1_api/api_model.py index 1f2f3f56cb..b9e0f48a31 100644 --- a/backend/cosmetology-app/stacks/api_stack/v1_api/api_model.py +++ b/backend/cosmetology-app/stacks/api_stack/v1_api/api_model.py @@ -807,6 +807,7 @@ def _encumbrance_type_schema(self) -> JsonSchema: 'suspension', 'revocation', 'surrender of license', + 'surrender of privilege', ], ) diff --git a/backend/cosmetology-app/tests/resources/snapshots/LICENSE_ENCUMBRANCE_REQUEST_SCHEMA.json b/backend/cosmetology-app/tests/resources/snapshots/LICENSE_ENCUMBRANCE_REQUEST_SCHEMA.json index 7aea9a0f24..5ad477a69f 100644 --- a/backend/cosmetology-app/tests/resources/snapshots/LICENSE_ENCUMBRANCE_REQUEST_SCHEMA.json +++ b/backend/cosmetology-app/tests/resources/snapshots/LICENSE_ENCUMBRANCE_REQUEST_SCHEMA.json @@ -13,7 +13,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ], "type": "string" }, diff --git a/backend/cosmetology-app/tests/resources/snapshots/PATCH_LICENSE_INVESTIGATION_REQUEST_SCHEMA.json b/backend/cosmetology-app/tests/resources/snapshots/PATCH_LICENSE_INVESTIGATION_REQUEST_SCHEMA.json index 0078eabf52..a950c6e342 100644 --- a/backend/cosmetology-app/tests/resources/snapshots/PATCH_LICENSE_INVESTIGATION_REQUEST_SCHEMA.json +++ b/backend/cosmetology-app/tests/resources/snapshots/PATCH_LICENSE_INVESTIGATION_REQUEST_SCHEMA.json @@ -21,7 +21,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ], "type": "string" }, diff --git a/backend/cosmetology-app/tests/resources/snapshots/PATCH_PRIVILEGE_INVESTIGATION_REQUEST_SCHEMA.json b/backend/cosmetology-app/tests/resources/snapshots/PATCH_PRIVILEGE_INVESTIGATION_REQUEST_SCHEMA.json index 0078eabf52..a950c6e342 100644 --- a/backend/cosmetology-app/tests/resources/snapshots/PATCH_PRIVILEGE_INVESTIGATION_REQUEST_SCHEMA.json +++ b/backend/cosmetology-app/tests/resources/snapshots/PATCH_PRIVILEGE_INVESTIGATION_REQUEST_SCHEMA.json @@ -21,7 +21,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ], "type": "string" }, diff --git a/backend/cosmetology-app/tests/resources/snapshots/PRIVILEGE_ENCUMBRANCE_REQUEST_SCHEMA.json b/backend/cosmetology-app/tests/resources/snapshots/PRIVILEGE_ENCUMBRANCE_REQUEST_SCHEMA.json index 7aea9a0f24..5ad477a69f 100644 --- a/backend/cosmetology-app/tests/resources/snapshots/PRIVILEGE_ENCUMBRANCE_REQUEST_SCHEMA.json +++ b/backend/cosmetology-app/tests/resources/snapshots/PRIVILEGE_ENCUMBRANCE_REQUEST_SCHEMA.json @@ -13,7 +13,8 @@ "enum": [ "suspension", "revocation", - "surrender of license" + "surrender of license", + "surrender of privilege" ], "type": "string" }, From de4fb5937b4b46a18fc6c43089e64b382e6db5f1 Mon Sep 17 00:00:00 2001 From: Landon Shumway Date: Wed, 3 Jun 2026 16:56:23 -0400 Subject: [PATCH 2/3] Add 'surrender of privilege' to privilege card --- webroot/src/components/PrivilegeCard/PrivilegeCard.ts | 2 +- webroot/src/locales/en.json | 4 ++++ webroot/src/locales/es.json | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/webroot/src/components/PrivilegeCard/PrivilegeCard.ts b/webroot/src/components/PrivilegeCard/PrivilegeCard.ts index 6d3319d596..55627b5212 100644 --- a/webroot/src/components/PrivilegeCard/PrivilegeCard.ts +++ b/webroot/src/components/PrivilegeCard/PrivilegeCard.ts @@ -229,7 +229,7 @@ class PrivilegeCard extends mixins(MixinForm) { })); if (this.isAppModeCosmetology) { - const includeList = ['suspension', 'revocation', 'surrender of license']; + const includeList = ['suspension', 'revocation', 'surrender of privilege']; options = options.filter((option) => includeList.includes(option.value)); } diff --git a/webroot/src/locales/en.json b/webroot/src/locales/en.json index 4a3f1abfdb..31478b7b3a 100644 --- a/webroot/src/locales/en.json +++ b/webroot/src/locales/en.json @@ -895,6 +895,10 @@ "name": "Surrender of license", "key": "surrender of license" }, + { + "name": "Surrender of privilege", + "key": "surrender of privilege" + }, { "name": "Modification of previous action-extension", "key": "modification of previous action-extension" diff --git a/webroot/src/locales/es.json b/webroot/src/locales/es.json index 833178b846..551c0ad24e 100644 --- a/webroot/src/locales/es.json +++ b/webroot/src/locales/es.json @@ -879,6 +879,10 @@ "name": "Entrega de licencia", "key": "surrender of license" }, + { + "name": "Renuncia de privilegio", + "key": "surrender of privilege" + }, { "name": "Modificación de la acción-extensión anterior", "key": "modification of previous action-extension" From df474263dabdf8e991e50b70b5ee8dd61c416922 Mon Sep 17 00:00:00 2001 From: John Sandoval Date: Thu, 4 Jun 2026 10:53:19 -0600 Subject: [PATCH 3/3] Update handling of superset discipline types in frontend --- webroot/src/components/LicenseCard/LicenseCard.ts | 4 ++++ webroot/src/components/PrivilegeCard/PrivilegeCard.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/webroot/src/components/LicenseCard/LicenseCard.ts b/webroot/src/components/LicenseCard/LicenseCard.ts index d56f70a883..eac256b2ea 100644 --- a/webroot/src/components/LicenseCard/LicenseCard.ts +++ b/webroot/src/components/LicenseCard/LicenseCard.ts @@ -261,6 +261,10 @@ class LicenseCard extends mixins(MixinForm) { const includeList = ['suspension', 'revocation', 'surrender of license']; options = options.filter((option) => includeList.includes(option.value)); + } else { + const excludeList = ['surrender of privilege']; + + options = options.filter((option) => !excludeList.includes(option.value)); } options.unshift({ diff --git a/webroot/src/components/PrivilegeCard/PrivilegeCard.ts b/webroot/src/components/PrivilegeCard/PrivilegeCard.ts index 55627b5212..ea07022c9f 100644 --- a/webroot/src/components/PrivilegeCard/PrivilegeCard.ts +++ b/webroot/src/components/PrivilegeCard/PrivilegeCard.ts @@ -232,6 +232,10 @@ class PrivilegeCard extends mixins(MixinForm) { const includeList = ['suspension', 'revocation', 'surrender of privilege']; options = options.filter((option) => includeList.includes(option.value)); + } else { + const excludeList = ['surrender of license']; + + options = options.filter((option) => !excludeList.includes(option.value)); } options.unshift({