Skip to content

Commit 394ce8a

Browse files
authored
Merge pull request #1518 from topcoder-platform/PM-4075
PM-4075 Fix manager comment access
2 parents 000b697 + 61fdca1 commit 394ce8a

1 file changed

Lines changed: 33 additions & 23 deletions

File tree

src/apps/review/src/pages/reviews/components/ReviewViewer/ReviewViewer.tsx

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,39 @@ const ReviewViewer: FC = () => {
4343
const [showCloseConfirmation, setShowCloseConfirmation] = useState<boolean>(false)
4444
const [isChanged, setIsChanged] = useState(false)
4545
const respondToAppeals = searchParams.get('respondToAppeals') === 'true'
46-
const [isManagerEdit, setIsManagerEdit] = useState(respondToAppeals)
46+
const hasChallengeAdminRole = useMemo(
47+
() => myChallengeResources.some(
48+
resource => resource.roleName?.toLowerCase() === ADMIN.toLowerCase(),
49+
),
50+
[myChallengeResources],
51+
)
52+
53+
const hasTopcoderAdminRole = useMemo(
54+
() => myChallengeRoles.some(
55+
role => role?.toLowerCase()
56+
.includes('admin'),
57+
),
58+
[myChallengeRoles],
59+
)
60+
61+
const hasChallengeManagerRole = useMemo(
62+
() => myChallengeResources.some(
63+
resource => resource.roleName?.toLowerCase() === MANAGER.toLowerCase(),
64+
),
65+
[myChallengeResources],
66+
)
67+
68+
const canManagerEdit = useMemo(
69+
() => hasChallengeAdminRole
70+
|| hasTopcoderAdminRole
71+
|| hasChallengeManagerRole,
72+
[
73+
hasChallengeAdminRole,
74+
hasTopcoderAdminRole,
75+
hasChallengeManagerRole,
76+
],
77+
)
78+
const [isManagerEdit, setIsManagerEdit] = useState(respondToAppeals && canManagerEdit)
4779

4880
const {
4981
challengeInfo,
@@ -148,28 +180,6 @@ const ReviewViewer: FC = () => {
148180
})
149181
}, [challengeInfo?.id, mutate, navigate])
150182

151-
const hasChallengeAdminRole = useMemo(
152-
() => myChallengeResources.some(
153-
resource => resource.roleName?.toLowerCase() === ADMIN.toLowerCase(),
154-
),
155-
[myChallengeResources],
156-
)
157-
158-
const hasTopcoderAdminRole = useMemo(
159-
() => myChallengeRoles.some(
160-
role => role?.toLowerCase()
161-
.includes('admin'),
162-
),
163-
[myChallengeRoles],
164-
)
165-
166-
const hasChallengeManagerRole = useMemo(
167-
() => myChallengeResources.some(
168-
resource => resource.roleName?.toLowerCase() === MANAGER.toLowerCase(),
169-
),
170-
[myChallengeResources],
171-
)
172-
173183
const hasChallengeCopilotRole = useMemo(
174184
() => myChallengeResources.some(
175185
resource => resource.roleName?.toLowerCase() === COPILOT.toLowerCase(),

0 commit comments

Comments
 (0)