Skip to content

Commit

Permalink
Reload evaluations after resubmit
Browse files Browse the repository at this point in the history
  • Loading branch information
SemaiCZE committed Dec 14, 2017
1 parent 9a1c1fb commit 2a6ccb4
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ class SubmissionDetail extends Component {
});
}

componentWillReceiveProps(newProps) {
if (this.props.evaluations.size !== newProps.evaluations.size) {
this.setState({
activeSubmissionId: newProps.submission.lastSubmission.id
});
}
}

render() {
const {
submission: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,10 @@ class EvaluationProgressContainer extends Component {
};

finish = () => {
const { push, link, finishProcessing } = this.props;
const { push, link, finishProcessing, onFinish } = this.props;
finishProcessing();
this.closeSocket();
onFinish && onFinish();
push(link);
};

Expand Down Expand Up @@ -234,7 +235,8 @@ EvaluationProgressContainer.propTypes = {
messages: PropTypes.object,
intl: PropTypes.object.isRequired,
push: PropTypes.func.isRequired,
onUserClose: PropTypes.func
onUserClose: PropTypes.func,
onFinish: PropTypes.func
};

export default connect(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,28 @@ import PropTypes from 'prop-types';
import { connect } from 'react-redux';

import ResubmitSolution from '../../components/buttons/ResubmitSolution';
import { resubmitSubmission } from '../../redux/modules/submissions';
import {
resubmitSubmission,
fetchUsersSubmissions
} from '../../redux/modules/submissions';
import {
isProcessing,
getMonitorParams,
getSubmissionId
} from '../../redux/selectors/submission';
import EvaluationProgressContainer from '../EvaluationProgressContainer';
import withLinks from '../../hoc/withLinks';
import { fetchSubmissionEvaluationsForSolution } from '../../redux/modules/submissionEvaluations';

const ResubmitSolutionContainer = ({
id,
assignmentId,
userId,
resubmit,
monitor,
isProcessing,
newSubmissionId,
fetchSubmissions,
isDebug = true,
links: { SUBMISSION_DETAIL_URI_FACTORY }
}) => {
Expand All @@ -29,6 +35,7 @@ const ResubmitSolutionContainer = ({
isOpen={isProcessing}
monitor={monitor}
link={SUBMISSION_DETAIL_URI_FACTORY(assignmentId, newSubmissionId)}
onFinish={() => fetchSubmissions(userId)}
/>
</span>
);
Expand All @@ -43,7 +50,9 @@ ResubmitSolutionContainer.propTypes = {
isProcessing: PropTypes.bool,
newSubmissionId: PropTypes.string,
links: PropTypes.object.isRequired,
isDebug: PropTypes.bool
isDebug: PropTypes.bool,
userId: PropTypes.string,
fetchSubmissions: PropTypes.func
};

const mapStateToProps = state => ({
Expand All @@ -52,8 +61,16 @@ const mapStateToProps = state => ({
newSubmissionId: getSubmissionId(state)
});

const mapDispatchToProps = (dispatch, { id, isPrivate = false }) => ({
resubmit: isDebug => dispatch(resubmitSubmission(id, isPrivate, isDebug))
const mapDispatchToProps = (
dispatch,
{ id, isPrivate = false, assignmentId }
) => ({
resubmit: isDebug => dispatch(resubmitSubmission(id, isPrivate, isDebug)),
fetchSubmissions: userId =>
Promise.all([
dispatch(fetchSubmissionEvaluationsForSolution(id)),
dispatch(fetchUsersSubmissions(userId, assignmentId))
])
});

export default withLinks(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ class SubmitSolutionContainer extends Component {
monitor={monitor}
link={SUBMISSION_DETAIL_URI_FACTORY(id, submissionId)}
onUserClose={fetchSubmissions}
onFinish={fetchSubmissions}
/>}
</div>
);
Expand Down
2 changes: 2 additions & 0 deletions src/pages/Submission/Submission.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,13 @@ class Submission extends Component {
id={submission.id}
assignmentId={assignment.id}
isDebug={false}
userId={submission.solution.userId}
/>
<ResubmitSolutionContainer
id={submission.id}
assignmentId={assignment.id}
isDebug={true}
userId={submission.solution.userId}
/>
</p>}
<FetchManyResourceRenderer fetchManyStatus={fetchStatus}>
Expand Down

0 comments on commit 2a6ccb4

Please sign in to comment.