diff --git a/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx index c8b5013acd78..ea0731173d18 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/DataProducts/DataProductsDetailsPage/DataProductsDetailsPage.component.tsx @@ -132,6 +132,12 @@ const DataProductsDetailsPage = ({ ]; }, [dataProduct.domain]); + const isEditDescription = useMemo(() => { + return ( + dataProductPermission.EditAll || dataProductPermission.EditDescription + ); + }, [dataProductPermission]); + const [name, displayName] = useMemo(() => { const defaultName = dataProduct.name; const defaultDisplayName = dataProduct.displayName; @@ -415,6 +421,7 @@ const DataProductsDetailsPage = ({ dataProductPermission.EditCustomFields) && !isVersionsView } + isEditDescription={isEditDescription} isVersionsView={isVersionsView} type={DocumentationEntity.DATA_PRODUCT} viewAllPermission={dataProductPermission.ViewAll} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetailsPage/DomainDetailsPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetailsPage/DomainDetailsPage.component.tsx index fc1974283bce..3a461f6b38a0 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetailsPage/DomainDetailsPage.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainDetailsPage/DomainDetailsPage.component.tsx @@ -200,6 +200,10 @@ const DomainDetailsPage = ({ return domainPermission.EditAll || domainPermission.EditDisplayName; }, [domainPermission]); + const editDescriptionPermission = useMemo(() => { + return domainPermission.EditAll || domainPermission.EditDescription; + }, [domainPermission]); + const addButtonContent = [ { label: t('label.asset-plural'), @@ -509,6 +513,7 @@ const DomainDetailsPage = ({ children: ( onUpdate(data as Domain)} /> diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.component.tsx index d6bce2a20276..4414f70203f5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.component.tsx @@ -61,6 +61,7 @@ const DocumentationTab = ({ viewAllPermission, isVersionsView = false, type = DocumentationEntity.DOMAIN, + isEditDescription, }: DocumentationTabProps) => { const { t } = useTranslation(); const { permissions } = usePermissionProvider(); @@ -72,40 +73,39 @@ const DocumentationTab = ({ ? ResourceEntity.DOMAIN : ResourceEntity.DATA_PRODUCT; - const { editDescriptionPermission, editOwnerPermission, editAllPermission } = - useMemo(() => { - if (isVersionsView) { - return { - editDescriptionPermission: false, - editOwnerPermission: false, - editAllPermission: false, - }; - } + const { editOwnerPermission, editAllPermission } = useMemo(() => { + if (isVersionsView) { + return { + editDescriptionPermission: false, + editOwnerPermission: false, + editAllPermission: false, + }; + } - const editDescription = checkPermission( - Operation.EditDescription, - resourceType, - permissions - ); + const editDescription = checkPermission( + Operation.EditDescription, + resourceType, + permissions + ); - const editOwner = checkPermission( - Operation.EditOwners, - resourceType, - permissions - ); + const editOwner = checkPermission( + Operation.EditOwners, + resourceType, + permissions + ); - const editAll = checkPermission( - Operation.EditAll, - resourceType, - permissions - ); + const editAll = checkPermission( + Operation.EditAll, + resourceType, + permissions + ); - return { - editDescriptionPermission: editDescription || editAll, - editOwnerPermission: editOwner || editAll, - editAllPermission: editAll, - }; - }, [permissions, isVersionsView, resourceType]); + return { + editDescriptionPermission: editDescription || editAll, + editOwnerPermission: editOwner || editAll, + editAllPermission: editAll, + }; + }, [permissions, isVersionsView, resourceType]); const description = useMemo( () => @@ -183,7 +183,7 @@ const DocumentationTab = ({ description={description} entityName={getEntityName(domain)} entityType={EntityType.DOMAIN} - hasEditAccess={editDescriptionPermission} + hasEditAccess={isEditDescription} isEdit={isDescriptionEditable} showCommentsIcon={false} onCancel={() => setIsDescriptionEditable(false)} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.interface.ts index e10500799b54..172fc4b47962 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/DomainTabs/DocumentationTab/DocumentationTab.interface.ts @@ -21,6 +21,7 @@ export interface DocumentationTabProps { onExtensionUpdate?: (updatedDataProduct: DataProduct) => Promise; editCustomAttributePermission?: boolean; viewAllPermission?: boolean; + isEditDescription?: boolean; } export enum DocumentationEntity {