diff --git a/config/constants/development.js b/config/constants/development.js index 89dba60d..4619d647 100644 --- a/config/constants/development.js +++ b/config/constants/development.js @@ -31,5 +31,6 @@ module.exports = { DES_TRACK_ID: '5fa04185-041f-49a6-bfd1-fe82533cd6c8', DS_TRACK_ID: 'c0f5d461-8219-4c14-878a-c3a3f356466d', QA_TRACK_ID: '36e6a8d0-7e1e-4608-a673-64279d99c115', - SEGMENT_API_KEY: 'QBtLgV8vCiuRX1lDikbMjcoe9aCHkF6n' + SEGMENT_API_KEY: 'QBtLgV8vCiuRX1lDikbMjcoe9aCHkF6n', + CREATE_FORUM_TYPE_IDS: ['927abff4-7af9-4145-8ba1-577c16e64e2e', 'dc876fa4-ef2d-4eee-b701-b555fcc6544c'] } diff --git a/config/constants/production.js b/config/constants/production.js index f7f7e18b..835c1a23 100644 --- a/config/constants/production.js +++ b/config/constants/production.js @@ -31,5 +31,6 @@ module.exports = { DES_TRACK_ID: '5fa04185-041f-49a6-bfd1-fe82533cd6c8', DS_TRACK_ID: 'c0f5d461-8219-4c14-878a-c3a3f356466d', QA_TRACK_ID: '36e6a8d0-7e1e-4608-a673-64279d99c115', - SEGMENT_API_KEY: 'QSQAW5BWmZfLoKFNRgNKaqHvLDLJoGqF' + SEGMENT_API_KEY: 'QSQAW5BWmZfLoKFNRgNKaqHvLDLJoGqF', + CREATE_FORUM_TYPE_IDS: ['927abff4-7af9-4145-8ba1-577c16e64e2e', 'dc876fa4-ef2d-4eee-b701-b555fcc6544c'] } diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index 08118594..3d04e88d 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -15,7 +15,8 @@ import { PRIZE_SETS_TYPE, DEFAULT_TERM_UUID, DEFAULT_NDA_UUID, - SUBMITTER_ROLE_UUID + SUBMITTER_ROLE_UUID, + CREATE_FORUM_TYPE_IDS } from '../../config/constants' import { PrimaryButton, OutlineButton } from '../Buttons' import TrackField from './Track-Field' @@ -767,6 +768,10 @@ class ChallengeEditor extends Component { phases: this.getTemplatePhases(defaultTemplate) // prizeSets: this.getDefaultPrizeSets() } + const discussions = this.getDiscussionsConfig(newChallenge) + if (discussions) { + newChallenge.discussions = discussions + } try { const action = await createChallenge(newChallenge) const draftChallenge = { @@ -779,6 +784,18 @@ class ChallengeEditor extends Component { } } + getDiscussionsConfig (challenge) { + if (_.includes(CREATE_FORUM_TYPE_IDS, challenge.typeId)) { + return ([ + { + name: `${challenge.name} Discussion`, + type: 'challenge', + provider: 'vanilla' + } + ]) + } + } + getTemplatePhases (template) { const timelinePhaseIds = template.phases.map(timelinePhase => timelinePhase.phaseId || timelinePhase) const validPhases = _.cloneDeep(this.props.metadata.challengePhases).filter(challengePhase => { diff --git a/src/config/constants.js b/src/config/constants.js index e8b1072b..b17c3403 100644 --- a/src/config/constants.js +++ b/src/config/constants.js @@ -16,6 +16,7 @@ export const { QA_TRACK_ID, SEGMENT_API_KEY } = process.env +export const CREATE_FORUM_TYPE_IDS = typeof process.env.CREATE_FORUM_TYPE_IDS === 'string' ? process.env.CREATE_FORUM_TYPE_IDS.split(',') : process.env.CREATE_FORUM_TYPE_IDS // Actions export const LOAD_PROJECTS_SUCCESS = 'LOAD_PROJECTS_SUCCESS'