From 7354b866b245f2d6c9ce5c7312d811cde5f4a48a Mon Sep 17 00:00:00 2001
From: Bereczki Sandor <bsandor453@gmail.com>
Date: Wed, 30 Jan 2019 17:43:37 +0100
Subject: [PATCH] Separated multiple solutions, Added solution validation for
 blank fields

---
 src/components/forms/AddSolutionForm.js | 49 ++++++++++++++++++-------
 src/components/pages/Homework.js        |  7 +++-
 2 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/src/components/forms/AddSolutionForm.js b/src/components/forms/AddSolutionForm.js
index 16e595c..254d291 100644
--- a/src/components/forms/AddSolutionForm.js
+++ b/src/components/forms/AddSolutionForm.js
@@ -3,6 +3,7 @@ import { Modal, Button, Form, Input, TextArea, Icon, Header } from 'semantic-ui-
 import { connect } from 'react-redux';
 import { addSolution, writeSolution, writeSolutionFile, addDocument, clearWrite } from '../../actions/homework';
 import './Forms.css';
+import ConfirmModal from '../forms/ConfirmModal';
 
 class AddSolutionForm extends Component {
   constructor(props) {
@@ -32,7 +33,7 @@ class AddSolutionForm extends Component {
         }
       >
         <Modal.Header>
-          Új megoldás beadása a(z) {this.props.tasktitle} nevű feladathoz:
+          {this.props.multiple ? 'Másik' : 'Új'} megoldás beadása a(z) {this.props.tasktitle} nevű feladathoz:
         </Modal.Header>
         <Modal.Content>
           <Modal.Description style={{ marginBottom: '2em' }}>
@@ -72,18 +73,40 @@ class AddSolutionForm extends Component {
           >
             <Icon name='remove' /> MĂŠgse
           </Button>
-          <Button
-            inverted
-            color='green'
-            onClick={() => {
-              this.props.addSolution({
-                 task, accepted, corrected, note, name, description, file,
-               });
-              this.setState({ showModal: false });
-              }}
-          >
-            <Icon name='checkmark' /> BeadĂĄs
-          </Button>
+          {this.props.multiple
+            ?
+              <ConfirmModal
+                button={
+                  <Button disabled={(name === '' || description === '')} inverted color='green'>
+                    <Icon name='checkmark' /> BeadĂĄs
+                  </Button>
+                    }
+                text='beadod az új megoldást, ami felülírja az előzőt'
+                onAccept={() => {
+                  this.props.addSolution({
+                    task, accepted, corrected, note, name, description, file,
+                    });
+                  this.setState({ showModal: false });
+                  }
+                }
+              />
+            :
+              <Button
+                inverted
+                color='green'
+                disabled={(name === '' || description === '')}
+                onClick={() => {
+                  console.log()
+                this.props.addSolution({
+                  task, accepted, corrected, note, name, description, file,
+                  });
+                this.setState({ showModal: false });
+                }
+              }
+              >
+                <Icon name='checkmark' /> BeadĂĄs
+              </Button>
+          }
         </Modal.Actions>
       </Modal>
     );
diff --git a/src/components/pages/Homework.js b/src/components/pages/Homework.js
index 3d889ca..530a533 100644
--- a/src/components/pages/Homework.js
+++ b/src/components/pages/Homework.js
@@ -115,7 +115,12 @@ class Homework extends Component {
           }
           >
             <Table.Cell>
-              <AddSolutionForm taskid={task.id} tasktitle={task.title} taskdesc={task.text} />
+              <AddSolutionForm
+                taskid={task.id}
+                tasktitle={task.title}
+                taskdesc={task.text}
+                multiple={this.getTaskDisplayStyle(task) !== 'can_submit'}
+              />
             </Table.Cell>
             <Table.Cell>
               {moment(task.deadline).format('YYYY. MM. DD. HH:mm')}
-- 
GitLab