From 9442584d4aed5a9995879e7775460f395f808482 Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Fri, 11 Feb 2022 11:34:29 +0200 Subject: [PATCH 1/4] enable primary screener and approver roles for ss challenges --- src/containers/ChallengeEditor/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/containers/ChallengeEditor/index.js b/src/containers/ChallengeEditor/index.js index b63b44f1..10cfe5fd 100644 --- a/src/containers/ChallengeEditor/index.js +++ b/src/containers/ChallengeEditor/index.js @@ -341,8 +341,8 @@ class ChallengeEditor extends Component { // get the resource roles and new/old resource values const copilotRole = getResourceRoleByName(metadata.resourceRoles, 'Copilot') - // const approverRole = getResourceRoleByName(metadata.resourceRoles, 'Approver') - // const screenerRole = getResourceRoleByName(metadata.resourceRoles, 'Primary Screener') + const approverRole = getResourceRoleByName(metadata.resourceRoles, 'Approver') + const screenerRole = getResourceRoleByName(metadata.resourceRoles, 'Primary Screener') const copilotHandle = loggedInUser.handle const challengeId = challengeDetails.id const oldPilot = challengeDetails.legacy.selfServiceCopilot @@ -350,8 +350,8 @@ class ChallengeEditor extends Component { // replace the roles await replaceResourceInRole(challengeId, copilotRole.id, newPilot, oldPilot) - // await replaceResourceInRole(challengeId, approverRole.id, newPilot, oldPilot) - // await replaceResourceInRole(challengeId, screenerRole.id, newPilot, oldPilot) + await replaceResourceInRole(challengeId, approverRole.id, newPilot, oldPilot) + await replaceResourceInRole(challengeId, screenerRole.id, newPilot, oldPilot) this.setState({ challengeDetails: { From f78bd0ea30f74e319a8667c8fb22b64b139fbe87 Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Fri, 11 Feb 2022 12:57:15 +0200 Subject: [PATCH 2/4] go back to manual primary screener and approver assignment --- src/containers/ChallengeEditor/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/containers/ChallengeEditor/index.js b/src/containers/ChallengeEditor/index.js index 10cfe5fd..b63b44f1 100644 --- a/src/containers/ChallengeEditor/index.js +++ b/src/containers/ChallengeEditor/index.js @@ -341,8 +341,8 @@ class ChallengeEditor extends Component { // get the resource roles and new/old resource values const copilotRole = getResourceRoleByName(metadata.resourceRoles, 'Copilot') - const approverRole = getResourceRoleByName(metadata.resourceRoles, 'Approver') - const screenerRole = getResourceRoleByName(metadata.resourceRoles, 'Primary Screener') + // const approverRole = getResourceRoleByName(metadata.resourceRoles, 'Approver') + // const screenerRole = getResourceRoleByName(metadata.resourceRoles, 'Primary Screener') const copilotHandle = loggedInUser.handle const challengeId = challengeDetails.id const oldPilot = challengeDetails.legacy.selfServiceCopilot @@ -350,8 +350,8 @@ class ChallengeEditor extends Component { // replace the roles await replaceResourceInRole(challengeId, copilotRole.id, newPilot, oldPilot) - await replaceResourceInRole(challengeId, approverRole.id, newPilot, oldPilot) - await replaceResourceInRole(challengeId, screenerRole.id, newPilot, oldPilot) + // await replaceResourceInRole(challengeId, approverRole.id, newPilot, oldPilot) + // await replaceResourceInRole(challengeId, screenerRole.id, newPilot, oldPilot) this.setState({ challengeDetails: { From 5835f12b0ed9946008435963bb63031445046752 Mon Sep 17 00:00:00 2001 From: Marios Kranitsas Date: Thu, 17 Feb 2022 14:43:34 +0200 Subject: [PATCH 3/4] Updates on Self-Service dashboard --- src/actions/challenges.js | 2 +- .../Description-Field/index.js | 8 +++- src/components/ChallengeEditor/index.js | 2 +- .../ChallengeList/index.js | 17 +++++++- src/containers/Challenges/index.js | 43 +++++++++++-------- 5 files changed, 49 insertions(+), 23 deletions(-) diff --git a/src/actions/challenges.js b/src/actions/challenges.js index 7c7e3d66..943cc558 100644 --- a/src/actions/challenges.js +++ b/src/actions/challenges.js @@ -88,7 +88,7 @@ export function loadChallengesByPage (page, projectId, status, filterChallengeNa } if (selfService) { filters.selfService = true - if (userHandle && filters.status.toUpperCase() !== CHALLENGE_STATUS.DRAFT) { + if (userHandle && filters.status.toUpperCase() !== CHALLENGE_STATUS.DRAFT && filters.status.toUpperCase() !== CHALLENGE_STATUS.NEW) { filters.selfServiceCopilot = userHandle } } diff --git a/src/components/ChallengeEditor/Description-Field/index.js b/src/components/ChallengeEditor/Description-Field/index.js index 0b3c187c..2bdb4235 100644 --- a/src/components/ChallengeEditor/Description-Field/index.js +++ b/src/components/ChallengeEditor/Description-Field/index.js @@ -42,7 +42,13 @@ class DescriptionField extends Component { } }) } else { - this.ref.current.innerHTML = challenge[type] ? marked(challenge[type]) : '' + if (challenge.legacy.selfService) { + const regex = new RegExp('{{[a-zA-Z0-9.]+}}', 'g') + const newDescription = challenge[type] ? challenge[type].replace(regex, 'MISSING DATA FROM INTAKE FORM') : '' + this.ref.current.innerHTML = marked(newDescription) + } else { + this.ref.current.innerHTML = challenge[type] ? marked(challenge[type]) : '' + } } } diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index 1f0b67ba..405239a8 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -1605,7 +1605,7 @@ class ChallengeEditor extends Component { )}
-
Public specification *
+
Public specification*
Access specification templates here
diff --git a/src/components/ChallengesComponent/ChallengeList/index.js b/src/components/ChallengesComponent/ChallengeList/index.js index e739e1d1..88634a4a 100644 --- a/src/components/ChallengesComponent/ChallengeList/index.js +++ b/src/components/ChallengesComponent/ChallengeList/index.js @@ -20,6 +20,7 @@ import Message from '../Message' import { CHALLENGE_STATUS } from '../../../config/constants' +import { checkAdmin } from '../../../util/tc' require('bootstrap/scss/bootstrap.scss') @@ -105,6 +106,9 @@ class ChallengeList extends Component { } getHandle () { + if (checkAdmin(this.props.auth.token)) { + return null + } return this.props.auth && this.props.auth.user ? this.props.auth.user.handle : null } @@ -130,9 +134,11 @@ class ChallengeList extends Component { let selectedTab = 0 switch (status) { case CHALLENGE_STATUS.APPROVED: - case CHALLENGE_STATUS.NEW: selectedTab = 1 break + case CHALLENGE_STATUS.NEW: + selectedTab = selfService ? 3 : 1 + break case CHALLENGE_STATUS.DRAFT: selectedTab = 2 break @@ -194,7 +200,8 @@ class ChallengeList extends Component { break } case 3: { - this.directUpdateSearchParam(searchText, CHALLENGE_STATUS.COMPLETED) + const status = selfService ? CHALLENGE_STATUS.NEW : CHALLENGE_STATUS.COMPLETED + this.directUpdateSearchParam(searchText, status) break } case 4: { @@ -203,12 +210,18 @@ class ChallengeList extends Component { } } }}> + { + selfService &&

Total Challenges: {totalChallenges}

+ } {(selfService ? 'Assigned challenges' : 'Active')} {(selfService ? 'Approved' : 'New')} {this.getStatusTextFunc(selfService)(CHALLENGE_STATUS.DRAFT)} {(!selfService && Completed)} {(!selfService && Cancelled)} + { + selfService && checkAdmin(this.props.auth.token) && Draft + } diff --git a/src/containers/Challenges/index.js b/src/containers/Challenges/index.js index 929403cb..df479e4c 100644 --- a/src/containers/Challenges/index.js +++ b/src/containers/Challenges/index.js @@ -15,6 +15,7 @@ import { loadProject } from '../../actions/projects' import { loadProjects, setActiveProject, resetSidebarActiveParams } from '../../actions/sidebar' import { CHALLENGE_STATUS } from '../../config/constants' import styles from './Challenges.module.scss' +import { checkAdmin } from '../../util/tc' class Challenges extends Component { constructor (props) { @@ -48,7 +49,8 @@ class Challenges extends Component { reloadChallenges (props) { const { activeProjectId, projectDetail: reduxProjectInfo, projectId, challengeProjectId, loadProject, selfService } = props if (activeProjectId !== challengeProjectId || selfService) { - this.props.loadChallengesByPage(1, projectId ? parseInt(projectId) : -1, CHALLENGE_STATUS.ACTIVE, '', selfService) + const isAdmin = checkAdmin(this.props.auth.token) + this.props.loadChallengesByPage(1, projectId ? parseInt(projectId) : -1, CHALLENGE_STATUS.ACTIVE, '', selfService, isAdmin ? null : this.props.auth.user.handle) if (!selfService && (!reduxProjectInfo || `${reduxProjectInfo.id}` !== projectId) ) { loadProject(projectId) @@ -68,6 +70,7 @@ class Challenges extends Component { } render () { + console.log('im here', this.props.auth) const { challenges, isLoading, @@ -103,23 +106,27 @@ class Challenges extends Component { return (
-
- - this.updateProjectName(e.target.value)} - value={searchProjectName} - /> - - -
+ { + !selfService && ( +
+ + this.updateProjectName(e.target.value)} + value={searchProjectName} + /> + + +
+ ) + } { activeProjectId === -1 && !selfService &&
No project selected. Select one below
} From 3ede842eec40df8005d2a10d4cc248b9a411dba6 Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Mon, 21 Feb 2022 15:24:04 +0200 Subject: [PATCH 4/4] clean up console log --- src/containers/Challenges/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/containers/Challenges/index.js b/src/containers/Challenges/index.js index df479e4c..60046ab1 100644 --- a/src/containers/Challenges/index.js +++ b/src/containers/Challenges/index.js @@ -70,7 +70,6 @@ class Challenges extends Component { } render () { - console.log('im here', this.props.auth) const { challenges, isLoading,