diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ClassificationRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ClassificationRepository.java index ed60d29b3b2..fe43bdea221 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ClassificationRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ClassificationRepository.java @@ -71,7 +71,7 @@ public class ClassificationRepository extends EntityRepository { } private int getTermCount(Classification category) { - ListFilter filter = new ListFilter(Include.NON_DELETED).addQueryParam("parent", category.getName()); + ListFilter filter = new ListFilter(Include.NON_DELETED).addQueryParam("parent", category.getFullyQualifiedName()); return daoCollection.tagDAO().listCount(filter); } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsV1/TagsV1.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsV1/TagsV1.component.tsx index 686e309947f..6022c57b51a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsV1/TagsV1.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Tag/TagsV1/TagsV1.component.tsx @@ -25,6 +25,7 @@ import { reduceColorOpacity } from 'utils/CommonUtils'; import { getEncodedFqn } from 'utils/StringsUtils'; import { ReactComponent as IconTerm } from '../../../assets/svg/book.svg'; import { ReactComponent as PlusIcon } from '../../../assets/svg/plus-primary.svg'; +import Fqn from '../../../utils/Fqn'; import { TagsV1Props } from './TagsV1.interface'; import './tagsV1.less'; @@ -81,7 +82,7 @@ const TagsV1 = ({ tag.source === TagSource.Glossary ? history.push(`${ROUTES.GLOSSARY}/${getEncodedFqn(tag.tagFQN)}`) : history.push( - `${ROUTES.TAGS}/${getEncodedFqn(tag.tagFQN.split('.')[0])}` + `${ROUTES.TAGS}/${getEncodedFqn(Fqn.split(tag.tagFQN)[0])}` ), [tag.source, tag.tagFQN] ); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/TestSuite/TestSuiteStepper/TestSuiteStepper.tsx b/openmetadata-ui/src/main/resources/ui/src/components/TestSuite/TestSuiteStepper/TestSuiteStepper.tsx index 59511245f5b..2b9d181205b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/TestSuite/TestSuiteStepper/TestSuiteStepper.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/TestSuite/TestSuiteStepper/TestSuiteStepper.tsx @@ -34,6 +34,7 @@ import { useHistory } from 'react-router-dom'; import { addTestCaseToLogicalTestSuite, createTestSuites } from 'rest/testAPI'; import { getCurrentUserId } from 'utils/CommonUtils'; import { getTestSuitePath } from 'utils/RouterUtils'; +import { getEncodedFqn } from 'utils/StringsUtils'; import { showErrorToast } from 'utils/ToastUtils'; import AddTestSuiteForm from '../AddTestSuiteForm/AddTestSuiteForm'; @@ -44,7 +45,11 @@ const TestSuiteStepper = () => { const [testSuiteResponse, setTestSuiteResponse] = useState(); const handleViewTestSuiteClick = () => { - history.push(getTestSuitePath(testSuiteResponse?.fullyQualifiedName ?? '')); + history.push( + getTestSuitePath( + getEncodedFqn(testSuiteResponse?.fullyQualifiedName ?? '') + ) + ); }; const handleTestSuitNextClick = (data: TestSuite) => { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/PopOverCard/EntityPopOverCard.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/PopOverCard/EntityPopOverCard.tsx index 011e2205f07..79dd5325f31 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/PopOverCard/EntityPopOverCard.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/PopOverCard/EntityPopOverCard.tsx @@ -79,6 +79,7 @@ const PopoverContent: React.FC<{ break; case EntityType.DASHBOARD: + case EntityType.CHART: promise = getDashboardByFqn(entityFQN, fields); break; @@ -103,7 +104,7 @@ const PopoverContent: React.FC<{ break; case EntityType.GLOSSARY_TERM: - promise = getGlossaryTermByFQN(entityFQN, 'owner'); + promise = getGlossaryTermByFQN(getDecodedFqn(entityFQN), 'owner'); break; case EntityType.GLOSSARY: @@ -163,7 +164,7 @@ const PopoverContent: React.FC<{ displayName: getEntityName(entityData), id: entityData.id ?? '', description: entityData.description ?? '', - fullyQualifiedName: entityFQN, + fullyQualifiedName: getDecodedFqn(entityFQN), tags: (entityData as Table).tags, entityType: entityType, serviceType: (entityData as Table).serviceType, diff --git a/openmetadata-ui/src/main/resources/ui/src/enums/entity.enum.ts b/openmetadata-ui/src/main/resources/ui/src/enums/entity.enum.ts index 62128fac7cc..3b1dd958a21 100644 --- a/openmetadata-ui/src/main/resources/ui/src/enums/entity.enum.ts +++ b/openmetadata-ui/src/main/resources/ui/src/enums/entity.enum.ts @@ -46,6 +46,7 @@ export enum EntityType { DASHBOARD_DATA_MODEL = 'dashboardDataModel', SUBSCRIPTION = 'subscription', USER_NAME = 'username', + CHART = 'chart', } export enum AssetsType { diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx index 2639587e010..9aafe5d5a3d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx @@ -654,24 +654,26 @@ const ContainerPage = () => { if (hasViewPermission) { fetchContainerDetail(containerName); } - }, [containerName, containerPermissions]); + }, [containerName, hasViewPermission]); useEffect(() => { fetchResourcePermission(containerName); }, [containerName]); useEffect(() => { - if (tab === EntityTabs.CHILDREN) { + if (tab === EntityTabs.CHILDREN && hasViewPermission) { fetchContainerChildren(containerName); } - }, [tab, containerName]); + }, [tab, containerName, hasViewPermission]); useEffect(() => { - getEntityFeedCount(); - }, [containerName]); + if (hasViewPermission) { + getEntityFeedCount(); + } + }, [containerName, hasViewPermission]); // Rendering - if (isLoading || !containerData) { + if (isLoading) { return ; } @@ -683,10 +685,14 @@ const ContainerPage = () => { ); } - if (!hasViewPermission && !isLoading) { + if (!hasViewPermission) { return ; } + if (!containerData) { + return ; + } + return ( { } entityFQN={currentClassification.fullyQualifiedName} entityId={currentClassification.id} - entityName={ - currentClassification.fullyQualifiedName ?? '' - } + entityName={currentClassification.name} entityType={EntityType.CLASSIFICATION} extraDropdownContent={extraDropdownContent} onEditDisplayName={handleUpdateDisplayName} diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/teams/TeamsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/teams/TeamsPage.tsx index f65c29b20e6..7d8bac0f36e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/teams/TeamsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/teams/TeamsPage.tsx @@ -38,6 +38,7 @@ import { patchTeamDetail, } from 'rest/teamsAPI'; import { getUsers, updateUserDetail } from 'rest/userAPI'; +import { getEncodedFqn } from 'utils/StringsUtils'; import AppState from '../../AppState'; import { INITIAL_PAGING_VALUE, @@ -611,7 +612,7 @@ const TeamsPage = () => { useEffect(() => { if (currentTab === TeamsPageTab.USERS) { - getCurrentTeamUsers(selectedTeam.name, {}, false); + getCurrentTeamUsers(getEncodedFqn(selectedTeam.name), {}, false); } else { setUserPaging(pagingObject); }