diff --git a/src/components/buttons/ResubmitSolution/ResubmitSolution.js b/src/components/buttons/ResubmitSolution/ResubmitSolution.js index 910d1a32d..b8ea27ec8 100644 --- a/src/components/buttons/ResubmitSolution/ResubmitSolution.js +++ b/src/components/buttons/ResubmitSolution/ResubmitSolution.js @@ -4,19 +4,24 @@ import { FormattedMessage } from 'react-intl'; import Icon from 'react-fontawesome'; import Button from '../../widgets/FlatButton'; -const ResubmitSolution = ({ resubmit }) => ( - -); +const ResubmitSolution = ({ resubmit, isDebug }) => + ; ResubmitSolution.propTypes = { - resubmit: PropTypes.func.isRequired + resubmit: PropTypes.func.isRequired, + isDebug: PropTypes.bool.isRequired }; export default ResubmitSolution; diff --git a/src/containers/EvaluationProgressContainer/EvaluationProgressContainer.js b/src/containers/EvaluationProgressContainer/EvaluationProgressContainer.js index 5ad1b9fd8..73abc9240 100644 --- a/src/containers/EvaluationProgressContainer/EvaluationProgressContainer.js +++ b/src/containers/EvaluationProgressContainer/EvaluationProgressContainer.js @@ -28,7 +28,7 @@ import EvaluationProgress from '../../components/Assignments/EvaluationProgress' import randomMessages, { extraMessages } from './randomMessages'; class EvaluationProgressContainer extends Component { - state = { realTimeProcessing: true, monitor: null, isUserClosed: false }; + state = { realTimeProcessing: true, monitor: null }; socket = null; componentWillMount = () => this.init(this.props); componentWillReceiveProps = newProps => { @@ -52,7 +52,7 @@ class EvaluationProgressContainer extends Component { if (this.socket !== null) { this.closeSocket(); } - this.setState({ isUserClosed: false, realTimeProcessing: true }); + this.setState({ realTimeProcessing: true }); if (monitor !== null && monitor !== this.state.monitor) { if (typeof WebSocket === 'function') { @@ -153,14 +153,15 @@ class EvaluationProgressContainer extends Component { push(link); }; - onUserClose = () => { + userCloseAction = () => { + const { onUserClose, finishProcessing } = this.props; + finishProcessing(); this.closeSocket(); - this.setState({ isUserClosed: true, monitor: null }); + onUserClose && onUserClose(); }; render = () => { const { isOpen, messages, progress, isFinished } = this.props; - const { isUserClosed } = this.state; let displayedMessages = new List(); const now = new Date(); if (now.getDate() === 1 && now.getMonth() === 3) { @@ -170,7 +171,7 @@ class EvaluationProgressContainer extends Component { return this.state.realTimeProcessing === true ? : { return ( - + ({ @@ -51,7 +53,7 @@ const mapStateToProps = state => ({ }); const mapDispatchToProps = (dispatch, { id, isPrivate = false }) => ({ - resubmit: () => dispatch(resubmitSubmission(id, isPrivate)) + resubmit: isDebug => dispatch(resubmitSubmission(id, isPrivate, isDebug)) }); export default withLinks( diff --git a/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js b/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js index 460bac78b..cad0ecb81 100644 --- a/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js +++ b/src/containers/SubmitSolutionContainer/SubmitSolutionContainer.js @@ -4,6 +4,7 @@ import { List } from 'immutable'; import { connect } from 'react-redux'; import SubmitSolution from '../../components/Submissions/SubmitSolution'; import EvaluationProgressContainer from '../EvaluationProgressContainer'; +import { fetchUsersSubmissions } from '../../redux/modules/submissions'; import { getNote, @@ -66,7 +67,8 @@ class SubmitSolutionContainer extends Component { links: { SUBMISSION_DETAIL_URI_FACTORY }, showProgress = true, autodetection = true, - isReferenceSolution = false + isReferenceSolution = false, + fetchSubmissions } = this.props; const { runtimeEnvironment } = this.state; @@ -98,6 +100,7 @@ class SubmitSolutionContainer extends Component { isOpen={isProcessing} monitor={monitor} link={SUBMISSION_DETAIL_URI_FACTORY(id, submissionId)} + onUserClose={fetchSubmissions} />} ); @@ -126,7 +129,8 @@ SubmitSolutionContainer.propTypes = { runtimeEnvironments: PropTypes.array, showProgress: PropTypes.bool, autodetection: PropTypes.bool, - isReferenceSolution: PropTypes.bool + isReferenceSolution: PropTypes.bool, + fetchSubmissions: PropTypes.func.isRequired }; export default withLinks( @@ -156,7 +160,8 @@ export default withLinks( ? dispatch(evaluateReferenceSolution(res.value.id)) : Promise.resolve() ), - reset: () => dispatch(resetUpload(id)) && dispatch(onReset(userId, id)) + reset: () => dispatch(resetUpload(id)) && dispatch(onReset(userId, id)), + fetchSubmissions: () => dispatch(fetchUsersSubmissions(userId, id)) }) )(SubmitSolutionContainer) ); diff --git a/src/pages/EditExerciseConfig/EditExerciseConfig.js b/src/pages/EditExerciseConfig/EditExerciseConfig.js index 4eaaecc5f..56f34aff4 100644 --- a/src/pages/EditExerciseConfig/EditExerciseConfig.js +++ b/src/pages/EditExerciseConfig/EditExerciseConfig.js @@ -11,7 +11,7 @@ import Box from '../../components/widgets/Box'; import ResourceRenderer from '../../components/helpers/ResourceRenderer'; import LocalizedExerciseName from '../../components/helpers/LocalizedExerciseName'; -import EditExerciseConfigForm from '../../components/forms/EditExerciseConfigForm/EditExerciseConfigForm'; +// import EditExerciseConfigForm from '../../components/forms/EditExerciseConfigForm/EditExerciseConfigForm'; import EditEnvironmentConfigForm from '../../components/forms/EditEnvironmentConfigForm'; import EditScoreConfigForm from '../../components/forms/EditScoreConfigForm'; import EditSimpleLimitsBox from '../../components/Exercises/EditSimpleLimitsBox'; @@ -87,14 +87,14 @@ class EditExerciseConfig extends Component { params: { exerciseId }, exercise, editEnvironmentConfigs, - setConfig, + // setConfig, runtimeEnvironments, environmentFormValues, exerciseConfig, exerciseEnvironmentConfig, exerciseScoreConfig, editEnvironmentSimpleLimits, - pipelines, + // pipelines, limits, setHorizontally, setVertically, @@ -200,13 +200,13 @@ class EditExerciseConfig extends Component { > {(config, ...runtimeEnvironments) =>
- + /> */} +

}