From 04c05690fd95e3c05dc45ac6c2ee85b56b668e4c Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Mon, 3 Feb 2025 20:27:18 +0530 Subject: [PATCH 1/2] fix: label creation on enter --- .../issues/issue-detail/label/select/label-select.tsx | 2 +- .../issues/issue-layouts/properties/label-dropdown.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/core/components/issues/issue-detail/label/select/label-select.tsx b/web/core/components/issues/issue-detail/label/select/label-select.tsx index 20cb0b2599a..ea96ea0397e 100644 --- a/web/core/components/issues/issue-detail/label/select/label-select.tsx +++ b/web/core/components/issues/issue-detail/label/select/label-select.tsx @@ -96,7 +96,7 @@ export const IssueLabelSelect: React.FC = observer((props) => setQuery(""); } - if (query !== "" && e.key === "Enter") { + if (query !== "" && e.key === "Enter" && canCreateLabel) { e.stopPropagation(); e.preventDefault(); await handleAddLabel(query); diff --git a/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx b/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx index 2cfc6941911..74e22bd8f80 100644 --- a/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx +++ b/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx @@ -81,7 +81,7 @@ export const LabelDropdown = (props: ILabelDropdownProps) => { const storeLabels = getProjectLabels(projectId); const { allowPermissions } = useUserPermissions(); - const canCreateLabel = allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT); + const canCreateLabel = allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug); let projectLabels: IIssueLabel[] = defaultOptions; if (storeLabels && storeLabels.length > 0) projectLabels = storeLabels; @@ -157,7 +157,7 @@ export const LabelDropdown = (props: ILabelDropdownProps) => { setQuery(""); } - if (query !== "" && e.key === "Enter") { + if (query !== "" && e.key === "Enter" && canCreateLabel) { e.preventDefault(); await handleAddLabel(query); } From 89abbcf528cd43e80898dd7c7eb6c5d3bb393cc6 Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Wed, 5 Feb 2025 18:39:38 +0530 Subject: [PATCH 2/2] fix: update label creation permissions --- .../issues/issue-detail/label/select/label-select.tsx | 3 ++- .../issues/issue-layouts/properties/label-dropdown.tsx | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/web/core/components/issues/issue-detail/label/select/label-select.tsx b/web/core/components/issues/issue-detail/label/select/label-select.tsx index ea96ea0397e..4e6335a1b5d 100644 --- a/web/core/components/issues/issue-detail/label/select/label-select.tsx +++ b/web/core/components/issues/issue-detail/label/select/label-select.tsx @@ -34,7 +34,8 @@ export const IssueLabelSelect: React.FC = observer((props) => const [query, setQuery] = useState(""); const [submitting, setSubmitting] = useState(false); - const canCreateLabel = allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT); + const canCreateLabel = + projectId && allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug, projectId); const projectLabels = getProjectLabels(projectId); diff --git a/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx b/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx index 74e22bd8f80..d4f8f870b1a 100644 --- a/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx +++ b/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx @@ -81,7 +81,8 @@ export const LabelDropdown = (props: ILabelDropdownProps) => { const storeLabels = getProjectLabels(projectId); const { allowPermissions } = useUserPermissions(); - const canCreateLabel = allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug); + const canCreateLabel = + projectId && allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug, projectId); let projectLabels: IIssueLabel[] = defaultOptions; if (storeLabels && storeLabels.length > 0) projectLabels = storeLabels;