Skip to content

Commit

Permalink
Merge pull request #135 from ReCodEx/fixes
Browse files Browse the repository at this point in the history
Fixes
  • Loading branch information
SemaiCZE committed Nov 10, 2017
2 parents 1d407a7 + 13382a4 commit 84637c4
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 32 deletions.
27 changes: 16 additions & 11 deletions src/components/buttons/ResubmitSolution/ResubmitSolution.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,24 @@ import { FormattedMessage } from 'react-intl';
import Icon from 'react-fontawesome';
import Button from '../../widgets/FlatButton';

const ResubmitSolution = ({ resubmit }) => (
<Button bsStyle="success" onClick={resubmit}>
<Icon name="mail-forward" />
{' '}
<FormattedMessage
id="app.resubmitSolution.resubmit"
defaultMessage="Resubmit this solution"
/>
</Button>
);
const ResubmitSolution = ({ resubmit, isDebug }) =>
<Button bsStyle="success" onClick={() => resubmit(isDebug)}>
<Icon name="mail-forward" />{' '}
{isDebug &&
<FormattedMessage
id="app.resubmitSolution.resubmitDebug"
defaultMessage="Resubmit (debug mode)"
/>}
{!isDebug &&
<FormattedMessage
id="app.resubmitSolution.resubmitNondebug"
defaultMessage="Resubmit (normal mode)"
/>}
</Button>;

ResubmitSolution.propTypes = {
resubmit: PropTypes.func.isRequired
resubmit: PropTypes.func.isRequired,
isDebug: PropTypes.bool.isRequired
};

export default ResubmitSolution;
Original file line number Diff line number Diff line change
Expand Up @@ -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 => {
Expand All @@ -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') {
Expand Down Expand Up @@ -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) {
Expand All @@ -170,25 +171,25 @@ class EvaluationProgressContainer extends Component {

return this.state.realTimeProcessing === true
? <EvaluationProgress
isOpen={isOpen && !isUserClosed}
isOpen={isOpen}
messages={displayedMessages}
completed={progress.completed}
skipped={progress.skipped}
failed={progress.failed}
finished={isFinished}
showContinueButton={isFinished || this.isClosed}
finishProcessing={this.finish}
onClose={this.onUserClose}
onClose={this.userCloseAction}
/>
: <EvaluationProgress
isOpen={isOpen && !isUserClosed}
isOpen={isOpen}
completed={0}
skipped={100}
failed={0}
finished={false}
showContinueButton={true}
finishProcessing={this.finish}
onClose={this.onUserClose}
onClose={this.userCloseAction}
messages={List([
this.formatMessage({
command: 'TASK',
Expand Down Expand Up @@ -232,7 +233,8 @@ EvaluationProgressContainer.propTypes = {
goToEvaluationDetails: PropTypes.func,
messages: PropTypes.object,
intl: PropTypes.object.isRequired,
push: PropTypes.func.isRequired
push: PropTypes.func.isRequired,
onUserClose: PropTypes.func
};

export default connect(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ const ResubmitSolutionContainer = ({
monitor,
isProcessing,
newSubmissionId,
isDebug = true,
links: { SUBMISSION_DETAIL_URI_FACTORY }
}) => {
return (
<span>
<ResubmitSolution resubmit={resubmit} />
<ResubmitSolution resubmit={resubmit} isDebug={isDebug} />
<EvaluationProgressContainer
isOpen={isProcessing}
monitor={monitor}
Expand All @@ -41,7 +42,8 @@ ResubmitSolutionContainer.propTypes = {
monitor: PropTypes.object,
isProcessing: PropTypes.bool,
newSubmissionId: PropTypes.string,
links: PropTypes.object.isRequired
links: PropTypes.object.isRequired,
isDebug: PropTypes.bool
};

const mapStateToProps = state => ({
Expand All @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -98,6 +100,7 @@ class SubmitSolutionContainer extends Component {
isOpen={isProcessing}
monitor={monitor}
link={SUBMISSION_DETAIL_URI_FACTORY(id, submissionId)}
onUserClose={fetchSubmissions}
/>}
</div>
);
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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)
);
10 changes: 5 additions & 5 deletions src/pages/EditExerciseConfig/EditExerciseConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -200,13 +200,13 @@ class EditExerciseConfig extends Component {
>
{(config, ...runtimeEnvironments) =>
<div>
<EditExerciseConfigForm
{/* <EditExerciseConfigForm
runtimeEnvironments={runtimeEnvironments}
initialValues={{ config: config }}
onSubmit={setConfig}
exercise={exercise}
pipelines={pipelines}
/>
/> */}
<EditSimpleLimitsBox
editLimits={editEnvironmentSimpleLimits}
environments={exercise.runtimeEnvironments}
Expand Down
6 changes: 6 additions & 0 deletions src/pages/Submission/Submission.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,12 @@ class Submission extends Component {
<ResubmitSolutionContainer
id={submission.id}
assignmentId={assignment.id}
isDebug={true}
/>
<ResubmitSolutionContainer
id={submission.id}
assignmentId={assignment.id}
isDebug={false}
/>
</p>}
<SubmissionDetail
Expand Down

0 comments on commit 84637c4

Please sign in to comment.