-
Notifications
You must be signed in to change notification settings - Fork 51
[PROD RELEASE] - release pm1093 #1642
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
||
| import { CHALLENGE_STATUS, PAGE_SIZE, PAGINATION_PER_PAGE_OPTIONS, PROJECT_ROLES } from '../../../config/constants' | ||
| import { checkAdmin, checkReadOnlyRoles } from '../../../util/tc' | ||
| import { checkAdmin, checkManager, checkReadOnlyRoles } from '../../../util/tc' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The import statement has been updated to include checkManager. Ensure that checkManager is used appropriately in the code where necessary, and verify that it is defined and exported correctly from ../../../util/tc.
| } = this.props | ||
| const isReadOnly = checkReadOnlyRoles(this.props.auth.token) || loginUserRoleInProject === PROJECT_ROLES.READ | ||
| const isAdmin = checkAdmin(this.props.auth.token) | ||
| const isManager = checkManager(this.props.auth.token) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider checking if checkManager function is defined and imported correctly to ensure it works as expected.
| const isReadOnly = checkReadOnlyRoles(this.props.auth.token) || loginUserRoleInProject === PROJECT_ROLES.READ | ||
| const isAdmin = checkAdmin(this.props.auth.token) | ||
| const isManager = checkManager(this.props.auth.token) | ||
| const loginUserId = this.props.auth.user.userId |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure userId is a valid property of this.props.auth.user. Consider adding error handling if userId might be undefined.
| const isAdmin = checkAdmin(this.props.auth.token) | ||
| const isManager = checkManager(this.props.auth.token) | ||
| const loginUserId = this.props.auth.user.userId | ||
| const isMemberOfActiveProject = activeProject && activeProject.members && activeProject.members.some(member => member.userId === loginUserId) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a null check for activeProject.members before calling .some() to prevent potential runtime errors if members is undefined.
| <Fragment> | ||
| <span className={styles.error}>No Billing Account set</span> | ||
| {isAdmin && ( | ||
| {(isAdmin || (isManager && isMemberOfActiveProject)) && ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The condition (isAdmin || (isManager && isMemberOfActiveProject)) could be simplified or clarified for better readability. Consider refactoring or adding parentheses to make the logic more explicit.
| {isBillingAccountExpired ? 'INACTIVE' : 'ACTIVE'} | ||
| </span>{' '} | ||
| {isAdmin && ( | ||
| {(isAdmin || (isManager && isMemberOfActiveProject)) && ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The condition (isManager && isMemberOfActiveProject) has been added to the existing isAdmin check. Ensure that this logic aligns with the intended functionality and that both conditions are necessary for displaying the span. If this change is meant to alter access control, verify that the roles and project membership are correctly handled elsewhere in the code.
| projectId: PropTypes.number, | ||
| updateProject: PropTypes.func.isRequired | ||
| updateProject: PropTypes.func.isRequired, | ||
| isMemberOfActiveProject: PropTypes.bool.isRequired, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The isMemberOfActiveProject prop is marked as isRequired, but ensure that this prop is always provided where UpdateBillingAccount is used, otherwise it could lead to runtime errors.
| updateProject: PropTypes.func.isRequired | ||
| updateProject: PropTypes.func.isRequired, | ||
| isMemberOfActiveProject: PropTypes.bool.isRequired, | ||
| isManager: PropTypes.bool.isRequired |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The isManager prop is marked as isRequired, but ensure that this prop is always provided where UpdateBillingAccount is used, otherwise it could lead to runtime errors.
What's in this PR?