@@ -27,6 +27,7 @@ import {
2727 fetchSolutionIfNeeded ,
2828 fetchUsersSolutions ,
2929 setNote ,
30+ fetchAssignmentSolvers ,
3031 fetchAssignmentSolversIfNeeded ,
3132} from '../../redux/modules/solutions.js' ;
3233import { fetchAssignmentSolutionFilesIfNeeded } from '../../redux/modules/solutionFiles.js' ;
@@ -112,7 +113,7 @@ class Solution extends Component {
112113 submitting,
113114 canSubmit,
114115 initCanSubmit,
115- reloadCanSubmit ,
116+ reloadAfterSubmit ,
116117 params : { assignmentId } ,
117118 evaluations,
118119 runtimeEnvironments,
@@ -209,7 +210,7 @@ class Solution extends Component {
209210 id = { assignment . id }
210211 onSubmit = { submitSolution }
211212 presubmitValidation = { presubmitSolution }
212- afterEvaluationStarts = { reloadCanSubmit }
213+ afterEvaluationStarts = { ( ) => reloadAfterSubmit ( currentUser . id ) }
213214 onReset = { initCanSubmit }
214215 isOpen = { submitting }
215216 solutionFilesLimit = { assignment . solutionFilesLimit }
@@ -341,7 +342,7 @@ Solution.propTypes = {
341342 refreshSolutionEvaluations : PropTypes . func . isRequired ,
342343 download : PropTypes . func . isRequired ,
343344 initCanSubmit : PropTypes . func . isRequired ,
344- reloadCanSubmit : PropTypes . func . isRequired ,
345+ reloadAfterSubmit : PropTypes . func . isRequired ,
345346 intl : PropTypes . object ,
346347 links : PropTypes . object . isRequired ,
347348} ;
@@ -378,6 +379,10 @@ export default connect(
378379 ) ,
379380 download : ( id , entry = null ) => dispatch ( download ( id , entry ) ) ,
380381 initCanSubmit : userId => ( ) => dispatch ( init ( userId , params . assignmentId ) ) ,
381- reloadCanSubmit : ( ) => dispatch ( canSubmit ( params . assignmentId ) ) ,
382+ reloadAfterSubmit : userId =>
383+ Promise . all ( [
384+ dispatch ( canSubmit ( params . assignmentId ) ) ,
385+ dispatch ( fetchAssignmentSolvers ( { assignmentId : params . assignmentId , userId } ) ) ,
386+ ] ) ,
382387 } )
383388) ( injectIntl ( withLinks ( Solution ) ) ) ;
0 commit comments