fix: add violates-guidelines edit reason as a default value for global staff (#323)

* fix: remove horizontal scrollbar

* fix: remove violates-guidelines edit reason as a default value for global staff

* fix: global staff can  edit comment/reply
This commit is contained in:
Awais Ansari
2022-10-13 20:41:16 +05:00
committed by GitHub
parent 50b2e15731
commit 4fecfabf2e
3 changed files with 16 additions and 9 deletions

View File

@@ -80,7 +80,7 @@ function Comment({
<CommentHeader comment={comment} actionHandlers={actionHandlers} postType={postType} />
{isEditing
? (
<CommentEditor comment={comment} onCloseEditor={() => setEditing(false)} />
<CommentEditor comment={comment} onCloseEditor={() => setEditing(false)} formClasses="pt-3" />
)
: <HTMLLoader cssClassName="comment-body pt-4 text-primary-500" componentId="comment" htmlNode={comment.renderedBody} />}
<CommentIcons

View File

@@ -17,6 +17,7 @@ import {
selectModerationSettings,
selectUserHasModerationPrivileges,
selectUserIsGroupTa,
selectUserIsStaff,
} from '../../data/selectors';
import { formikCompatibleHandler, isFormikFieldInvalid } from '../../utils';
import { addComment, editComment } from '../data/thunks';
@@ -27,16 +28,19 @@ function CommentEditor({
comment,
onCloseEditor,
edit,
formClasses,
}) {
const editorRef = useRef(null);
const { authenticatedUser } = useContext(AppContext);
const userHasModerationPrivileges = useSelector(selectUserHasModerationPrivileges);
const userIsGroupTa = useSelector(selectUserIsGroupTa);
const userIsStaff = useSelector(selectUserIsStaff);
const { reasonCodesEnabled, editReasons } = useSelector(selectModerationSettings);
const [submitting, dispatch] = useDispatchWithState();
const canDisplayEditReason = (reasonCodesEnabled && (userHasModerationPrivileges || userIsGroupTa)
&& edit && comment.author !== authenticatedUser.username
const canDisplayEditReason = (reasonCodesEnabled && edit
&& (userHasModerationPrivileges || userIsGroupTa || userIsStaff)
&& comment?.author !== authenticatedUser.username
);
const editReasonCodeValidation = canDisplayEditReason && {
@@ -51,7 +55,7 @@ function CommentEditor({
const initialValues = {
comment: comment.rawBody,
editReasonCode: comment?.lastEdit?.reasonCode || '',
editReasonCode: comment?.lastEdit?.reasonCode || (userIsStaff ? 'violates-guidelines' : ''),
};
const handleCloseEditor = (resetForm) => {
@@ -94,7 +98,7 @@ function CommentEditor({
handleChange,
resetForm,
}) => (
<Form onSubmit={handleSubmit}>
<Form onSubmit={handleSubmit} className={formClasses}>
{canDisplayEditReason && (
<Form.Group
isInvalid={isFormikFieldInvalid('editReasonCode', {
@@ -104,7 +108,7 @@ function CommentEditor({
>
<Form.Control
name="editReasonCode"
className="mt-2"
className="mt-2 mr-0"
as="select"
value={values.editReasonCode}
onChange={handleChange}
@@ -181,10 +185,12 @@ CommentEditor.propTypes = {
onCloseEditor: PropTypes.func.isRequired,
intl: intlShape.isRequired,
edit: PropTypes.bool,
formClasses: PropTypes.string,
};
CommentEditor.defaultProps = {
edit: true,
formClasses: '',
};
export default injectIntl(CommentEditor);

View File

@@ -107,7 +107,8 @@ function PostEditor({
const userIsStaff = useSelector(selectUserIsStaff);
const canDisplayEditReason = (reasonCodesEnabled && editExisting
&& (userHasModerationPrivileges || userIsGroupTa || userIsStaff) && post?.author !== authenticatedUser.username
&& (userHasModerationPrivileges || userIsGroupTa || userIsStaff)
&& post?.author !== authenticatedUser.username
);
const editReasonCodeValidation = canDisplayEditReason && {
@@ -135,7 +136,7 @@ function PostEditor({
follow: isEmpty(post?.following) ? true : post?.following,
anonymous: allowAnonymous ? false : undefined,
anonymousToPeers: allowAnonymousToPeers ? false : undefined,
editReasonCode: post?.lastEdit?.reasonCode || '',
editReasonCode: post?.lastEdit?.reasonCode || (userIsStaff ? 'violates-guidelines' : ''),
cohort: post?.cohort || 'default',
};
@@ -351,7 +352,7 @@ function PostEditor({
name="editReasonCode"
className="m-0"
as="select"
value={userIsStaff ? 'violates-guidelines' : values.editReasonCode}
value={values.editReasonCode}
onChange={handleChange}
onBlur={handleBlur}
aria-describedby="editReasonCodeInput"