diff --git a/src/containers/Challenges/index.js b/src/containers/Challenges/index.js index 5f874be5..7b268c5d 100644 --- a/src/containers/Challenges/index.js +++ b/src/containers/Challenges/index.js @@ -20,7 +20,7 @@ import { setActiveProject, resetSidebarActiveParams } from '../../actions/sidebar' -import { checkAdmin, checkIsUserInvited } from '../../util/tc' +import { checkAdmin, checkIsUserInvitedToProject } from '../../util/tc' import { withRouter } from 'react-router-dom' class Challenges extends Component { @@ -59,7 +59,7 @@ class Challenges extends Component { componentDidUpdate () { const { auth } = this.props - if (checkIsUserInvited(auth.token, this.props.projectDetail)) { + if (checkIsUserInvitedToProject(auth.token, this.props.projectDetail)) { this.props.history.push(`/projects/${this.props.projectId}/invitation`) } } diff --git a/src/containers/ProjectEditor/index.js b/src/containers/ProjectEditor/index.js index 241562b2..2627e99e 100644 --- a/src/containers/ProjectEditor/index.js +++ b/src/containers/ProjectEditor/index.js @@ -15,7 +15,7 @@ import { updateProject } from '../../actions/projects' import { setActiveProject } from '../../actions/sidebar' -import { checkAdminOrCopilot, checkAdmin, checkIsUserInvited } from '../../util/tc' +import { checkAdminOrCopilot, checkAdmin, checkIsUserInvitedToProject } from '../../util/tc' import { PROJECT_ROLES } from '../../config/constants' import Loader from '../../components/Loader' @@ -38,7 +38,7 @@ class ProjectEditor extends Component { componentDidUpdate () { const { auth } = this.props - if (checkIsUserInvited(auth.token, this.props.projectDetail)) { + if (checkIsUserInvitedToProject(auth.token, this.props.projectDetail)) { this.props.history.push(`/projects/${this.props.projectDetail.id}/invitation`) } diff --git a/src/containers/ProjectInvitations/index.js b/src/containers/ProjectInvitations/index.js index 6c764010..a6b53bca 100644 --- a/src/containers/ProjectInvitations/index.js +++ b/src/containers/ProjectInvitations/index.js @@ -3,7 +3,7 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react' import { connect } from 'react-redux' import { withRouter } from 'react-router-dom' import { toastr } from 'react-redux-toastr' -import { checkIsUserInvited } from '../../util/tc' +import { checkIsUserInvitedToProject } from '../../util/tc' import { isEmpty } from 'lodash' import { loadProjectInvites } from '../../actions/projects' import ConfirmationModal from '../../components/Modal/ConfirmationModal' @@ -20,7 +20,7 @@ const theme = { const ProjectInvitations = ({ match, auth, isProjectLoading, history, projectDetail, loadProjectInvites }) => { const automaticAction = useMemo(() => [PROJECT_MEMBER_INVITE_STATUS_ACCEPTED, PROJECT_MEMBER_INVITE_STATUS_REFUSED].includes(match.params.action) ? match.params.action : undefined, [match.params]) const projectId = useMemo(() => parseInt(match.params.projectId), [match.params]) - const invitation = useMemo(() => checkIsUserInvited(auth.token, projectDetail), [auth.token, projectDetail]) + const invitation = useMemo(() => checkIsUserInvitedToProject(auth.token, projectDetail), [auth.token, projectDetail]) const [isUpdating, setIsUpdating] = useState(automaticAction || false) const isAccepting = isUpdating === PROJECT_MEMBER_INVITE_STATUS_ACCEPTED const isDeclining = isUpdating === PROJECT_MEMBER_INVITE_STATUS_REFUSED diff --git a/src/containers/Projects/index.js b/src/containers/Projects/index.js index e34ca088..893f3f78 100644 --- a/src/containers/Projects/index.js +++ b/src/containers/Projects/index.js @@ -5,7 +5,7 @@ import { withRouter, Link } from 'react-router-dom' import { connect } from 'react-redux' import PropTypes from 'prop-types' import Loader from '../../components/Loader' -import { checkAdminOrCopilot, checkIsUserInvited, checkManager } from '../../util/tc' +import { checkAdminOrCopilot, checkIsUserInvitedToProject, checkManager } from '../../util/tc' import { PrimaryButton } from '../../components/Buttons' import Select from '../../components/Select' import ProjectCard from '../../components/ProjectCard' @@ -112,7 +112,7 @@ const Projects = ({ projects, auth, isLoading, projectsCount, loadProjects, load {projects.map(p => (
  • { return isAdmin || (isCopilot && canManageProject) } -export const checkIsUserInvited = (token, project) => { +export const checkIsUserInvitedToProject = (token, project) => { if (!token) { return } const tokenData = decodeToken(token) - return project && !_.isEmpty(project) && _.find(project.invites, { userId: tokenData.userId }) + return project && !_.isEmpty(project) && (_.find(project.invites, d => d.userId === tokenData.userId || d.email === tokenData.email)) } /**