Fix #6689 Announcement bug (#6742)

This commit is contained in:
Sachin Chaurasiya 2022-08-16 18:24:39 +05:30 committed by GitHub
parent e6c5d2ccaa
commit 2b28d31072
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 17 deletions

View File

@ -26,10 +26,6 @@ jest.mock('../../../AppState', () => ({
isProfilePicLoading: jest.fn(), isProfilePicLoading: jest.fn(),
})); }));
jest.mock('../../../hooks/authHooks', () => ({
useAuth: jest.fn().mockReturnValue({ isAdminUser: false }),
}));
jest.mock('../../../utils/FeedUtils', () => ({ jest.mock('../../../utils/FeedUtils', () => ({
getEntityField: jest.fn(), getEntityField: jest.fn(),
getEntityFQN: jest.fn(), getEntityFQN: jest.fn(),

View File

@ -22,7 +22,6 @@ import { ReactionOperation } from '../../../enums/reactions.enum';
import { AnnouncementDetails } from '../../../generated/api/feed/createThread'; import { AnnouncementDetails } from '../../../generated/api/feed/createThread';
import { Post } from '../../../generated/entity/feed/thread'; import { Post } from '../../../generated/entity/feed/thread';
import { Reaction, ReactionType } from '../../../generated/type/reaction'; import { Reaction, ReactionType } from '../../../generated/type/reaction';
import { useAuth } from '../../../hooks/authHooks';
import { import {
getEntityField, getEntityField,
getEntityFQN, getEntityFQN,
@ -60,7 +59,6 @@ const ActivityFeedCard: FC<ActivityFeedCardProp> = ({
const entityFQN = getEntityFQN(entityLink as string); const entityFQN = getEntityFQN(entityLink as string);
const entityField = getEntityField(entityLink as string); const entityField = getEntityField(entityLink as string);
const { isAdminUser } = useAuth();
const currentUser = AppState.getCurrentUserDetails(); const currentUser = AppState.getCurrentUserDetails();
const [feedDetail, setFeedDetail] = useState<Post>(feed); const [feedDetail, setFeedDetail] = useState<Post>(feed);
@ -69,9 +67,7 @@ const ActivityFeedCard: FC<ActivityFeedCardProp> = ({
const [isEditAnnouncement, setEditAnnouncement] = useState<boolean>(false); const [isEditAnnouncement, setEditAnnouncement] = useState<boolean>(false);
const [isEditPost, setEditPost] = useState<boolean>(false); const [isEditPost, setEditPost] = useState<boolean>(false);
const isAuthor = Boolean( const isAuthor = feedDetail.from === currentUser?.name;
feedDetail.from === currentUser?.name || isAdminUser
);
const onFeedUpdate = (data: Operation[]) => { const onFeedUpdate = (data: Operation[]) => {
updateThreadHandler( updateThreadHandler(

View File

@ -14,7 +14,7 @@
import { Button, Space, Typography } from 'antd'; import { Button, Space, Typography } from 'antd';
import classNames from 'classnames'; import classNames from 'classnames';
import { isUndefined } from 'lodash'; import { isUndefined } from 'lodash';
import React, { FC, useState } from 'react'; import React, { FC, useEffect, useState } from 'react';
import { import {
getFrontEndFormat, getFrontEndFormat,
MarkdownToHTMLConverter, MarkdownToHTMLConverter,
@ -92,6 +92,10 @@ const FeedCardBody: FC<FeedBodyProp> = ({
/> />
); );
useEffect(() => {
setPostMessage(message);
}, [message]);
return ( return (
<div className={classNames('tw-group', isEditPost ? '' : className)}> <div className={classNames('tw-group', isEditPost ? '' : className)}>
<div className="feed-meesage"> <div className="feed-meesage">

View File

@ -70,11 +70,7 @@ const PopoverContent: FC<Props> = ({
}; };
const deleteButtonCheck = const deleteButtonCheck =
threadId && threadId && postId && onConfirmation && isAuthor && !isThread;
postId &&
onConfirmation &&
(isAuthor || currentUser?.isAdmin) &&
!isThread;
const handleDelete = (e: React.MouseEvent<HTMLButtonElement>) => { const handleDelete = (e: React.MouseEvent<HTMLButtonElement>) => {
e.stopPropagation(); e.stopPropagation();
@ -145,8 +141,7 @@ const PopoverContent: FC<Props> = ({
onEdit && onEdit(); onEdit && onEdit();
}; };
const editCheck = const editCheck = (isAnnouncement || !isThread) && isAuthor;
(isAnnouncement || !isThread) && (isAuthor || currentUser?.isAdmin);
return ( return (
<Space> <Space>