diff --git a/src/components/Submissions/SubmitSolution/SubmitSolution.js b/src/components/Submissions/SubmitSolution/SubmitSolution.js index 628e81fa4..83913e85f 100644 --- a/src/components/Submissions/SubmitSolution/SubmitSolution.js +++ b/src/components/Submissions/SubmitSolution/SubmitSolution.js @@ -106,7 +106,7 @@ const SubmitSolution = ({ autodetection, saveNote, submitSolution, - useReferenceMessages, + isReferenceSolution, messages, intl: { formatMessage } }) => @@ -215,15 +215,15 @@ SubmitSolution.propTypes = { runtimeEnvironments: PropTypes.array, autodetection: PropTypes.bool, changeRuntimeEnvironment: PropTypes.func.isRequired, - useReferenceMessages: PropTypes.bool, + isReferenceSolution: PropTypes.bool, messages: PropTypes.object.isRequired, intl: intlShape.isRequired }; export default injectIntl( connect( - (state, { useReferenceMessages = false }) => ({ - messages: useReferenceMessages + (state, { isReferenceSolution = false }) => ({ + messages: isReferenceSolution ? referenceSolutionMessages : submissionMessages }), diff --git a/src/containers/SourceCodeViewerContainer/SourceCodeViewerContainer.js b/src/containers/SourceCodeViewerContainer/SourceCodeViewerContainer.js index 96ed1325a..dd5bc8db6 100644 --- a/src/containers/SourceCodeViewerContainer/SourceCodeViewerContainer.js +++ b/src/containers/SourceCodeViewerContainer/SourceCodeViewerContainer.js @@ -53,7 +53,7 @@ class SourceCodeViewerContainer extends Component { loadingFooterRef.clientHeight; this.setState({ height }); } else { - console.log('already has height', this.state.height); + // console.log('already has height', this.state.height); } } diff --git a/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js b/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js index 5338f2641..460bac78b 100644 --- a/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js +++ b/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js @@ -22,6 +22,7 @@ import { import { loggedInUserIdSelector } from '../../redux/selectors/auth'; import { cancel, changeNote } from '../../redux/modules/submission'; import { reset as resetUpload } from '../../redux/modules/upload'; +import { evaluateReferenceSolution } from '../../redux/modules/referenceSolutions'; import withLinks from '../../hoc/withLinks'; @@ -65,7 +66,7 @@ class SubmitSolutionContainer extends Component { links: { SUBMISSION_DETAIL_URI_FACTORY }, showProgress = true, autodetection = true, - useReferenceSolutionMessages = false + isReferenceSolution = false } = this.props; const { runtimeEnvironment } = this.state; @@ -89,7 +90,7 @@ class SubmitSolutionContainer extends Component { changeRuntimeEnvironment={this.changeRuntimeEnvironment} submitSolution={this.submit} autodetection={autodetection} - useReferenceMessages={useReferenceSolutionMessages} + isReferenceSolution={isReferenceSolution} /> {showProgress && @@ -125,7 +126,7 @@ SubmitSolutionContainer.propTypes = { runtimeEnvironments: PropTypes.array, showProgress: PropTypes.bool, autodetection: PropTypes.bool, - useReferenceSolutionMessages: PropTypes.bool + isReferenceSolution: PropTypes.bool }; export default withLinks( @@ -145,11 +146,16 @@ export default withLinks( monitor: getMonitorParams(state) }; }, - (dispatch, { id, userId, onSubmit, onReset }) => ({ + (dispatch, { id, userId, onSubmit, onReset, isReferenceSolution }) => ({ changeNote: note => dispatch(changeNote(note)), cancel: () => dispatch(cancel()), submitSolution: (note, files, runtimeEnvironmentId = null) => - dispatch(onSubmit(userId, id, note, files, runtimeEnvironmentId)), + dispatch(onSubmit(userId, id, note, files, runtimeEnvironmentId)).then( + res => + isReferenceSolution + ? dispatch(evaluateReferenceSolution(res.value.id)) + : Promise.resolve() + ), reset: () => dispatch(resetUpload(id)) && dispatch(onReset(userId, id)) }) )(SubmitSolutionContainer) diff --git a/src/pages/Exercise/Exercise.js b/src/pages/Exercise/Exercise.js index 3444659da..aa7a160e6 100644 --- a/src/pages/Exercise/Exercise.js +++ b/src/pages/Exercise/Exercise.js @@ -179,12 +179,12 @@ class Exercise extends Component { } ]} > - {exercise => ( + {exercise =>
- {isAuthorOfExercise(exercise.id) && ( + {isAuthorOfExercise(exercise.id) && - - )} + }
- {exercise.localizedTexts.length > 0 && ( - - )} + {exercise.localizedTexts.length > 0 && + }
- {() => ( + {() => ( + renderButtons={groupId => this.assignExercise(groupId)} - /> - )} - /> - )} + />} + />} - {(...pipelines) => ( + {(...pipelines) => ( + createActions={pipelineId =>
-
- )} - /> - )} +
} + />} @@ -352,36 +346,33 @@ class Exercise extends Component { > {referenceSolutions => - referenceSolutions.length > 0 ? ( - ( - - )} - /> - ) : ( -

- 0 + ? + } /> -

- )} + :

+ +

}
@@ -395,10 +386,9 @@ class Exercise extends Component { runtimeEnvironments={exercise.runtimeEnvironments} showProgress={false} autodetection={false} - useReferenceSolutionMessages={true} + isReferenceSolution={true} /> -
- )} + } ); }