From dff12729c05ac8301ffc0491da170bb79f777846 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna <46787868+vamsikrishnamathala@users.noreply.github.com> Date: Mon, 10 Feb 2025 19:35:04 +0530 Subject: [PATCH] [WEB-3287]fix: label creation in global views (#6541) * fix: label creation on enter * fix: update label creation permissions --------- Co-authored-by: sriram veeraghanta --- .../issues/issue-detail/label/select/label-select.tsx | 5 +++-- .../issues/issue-layouts/properties/label-dropdown.tsx | 5 +++-- 2 files changed, 6 insertions(+), 4 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 05f9956efa..78607561c4 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 @@ -36,7 +36,8 @@ export const IssueLabelSelect: React.FC = observer((props) => const [query, setQuery] = useState(""); const [submitting, setSubmitting] = useState(false); - const canCreateLabel = allowPermissions([EUserProjectRoles.ADMIN], EUserPermissionsLevel.PROJECT); + const canCreateLabel = + projectId && allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug, projectId); const projectLabels = getProjectLabels(projectId); @@ -98,7 +99,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 68fe34ebf6..b5b2ac03c8 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([EUserProjectRoles.ADMIN], EUserPermissionsLevel.PROJECT); + const canCreateLabel = + projectId && allowPermissions([EUserPermissions.ADMIN], EUserPermissionsLevel.PROJECT, workspaceSlug, projectId); let projectLabels: IIssueLabel[] = defaultOptions; if (storeLabels && storeLabels.length > 0) projectLabels = storeLabels; @@ -157,7 +158,7 @@ export const LabelDropdown = (props: ILabelDropdownProps) => { setQuery(""); } - if (query !== "" && e.key === "Enter") { + if (query !== "" && e.key === "Enter" && canCreateLabel) { e.preventDefault(); await handleAddLabel(query); }