Skip to content

Commit 3c7bbc6

Browse files
committed
https://github.com/topcoder-platform/work-manager/issues/1558
1 parent 001e9ac commit 3c7bbc6

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

src/actions/challenges.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,10 +681,14 @@ export function createResource (challengeId, roleId, memberHandle, email, userId
681681
try {
682682
newResource = await createResourceAPI(resource)
683683
} catch (error) {
684+
const errorMessage = _.get(error, 'response.data.message', 'Create resource fail.')
684685
dispatch({
685686
type: CREATE_CHALLENGE_RESOURCE_FAILURE
686687
})
687-
return
688+
return {
689+
success: false,
690+
errorMessage
691+
}
688692
}
689693

690694
let userEmail = email

src/components/ChallengeEditor/ResourcesAdd/index.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const ResourcesAdd = ({
3636
const [assignedMemberDetails, setAssignedMemberDetails] = useState(null)
3737
const [isCreatingResource, setIsCreatingResource] = useState(false)
3838
const [selectedRole, setSelectedRole] = useState(null)
39+
const [errorMessage, setErrorMessage] = useState(null)
3940

4041
const roleOptions = useMemo(
4142
() =>
@@ -88,6 +89,7 @@ const ResourcesAdd = ({
8889
</div>
8990
</div>
9091
</div>
92+
{errorMessage ? (<span className={styles.errorMessage}>{errorMessage}</span>) : null}
9193
<div className={styles.buttonGroup}>
9294
<div className={styles.buttonSizeA}>
9395
<PrimaryButton
@@ -98,15 +100,19 @@ const ResourcesAdd = ({
98100
}
99101
onClick={async () => {
100102
setIsCreatingResource(true)
101-
await createResource(
103+
const result = await createResource(
102104
challenge.id,
103105
selectedRole.value,
104106
assignedMemberDetails.handle,
105107
assignedMemberDetails.email,
106108
assignedMemberDetails.userId
107109
)
108110
setIsCreatingResource(false)
109-
onClose()
111+
if (result && !result.success) {
112+
setErrorMessage(result.errorMessage)
113+
} else {
114+
onClose()
115+
}
110116
}}
111117
/>
112118
</div>

src/components/ChallengeEditor/ResourcesAdd/styles.module.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,10 @@
9797

9898
.selectField {
9999
width: 280px;
100+
}
101+
102+
.errorMessage {
103+
color: $red;
104+
width: 394px;
105+
margin-top: 10px;
100106
}

0 commit comments

Comments
 (0)