From 15d63d36d424094d969998c37203cc19ef31d31e Mon Sep 17 00:00:00 2001
From: Bsandor453 <32219422+Bsandor453@users.noreply.github.com>
Date: Sat, 9 Mar 2019 21:55:13 +0100
Subject: [PATCH] Added notes for the Homework student view

+ a little bit of props refactor
---
 src/components/pages/Homework.js | 34 +++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/components/pages/Homework.js b/src/components/pages/Homework.js
index 5c20fd4..2d85f28 100644
--- a/src/components/pages/Homework.js
+++ b/src/components/pages/Homework.js
@@ -16,13 +16,13 @@ import {
   addTask,
   setSelectedTask,
   deleteTask,
-  addDocument,
   getProfiles,
 } from '../../actions/homework';
 import AddTaskForm from '../forms/AddTaskForm';
 import AddSolutionForm from '../forms/AddSolutionForm';
 import SolutionDetailsForm from '../forms/SolutionDetailsForm';
 import EditTaskForm from '../forms/EditTaskForm';
+import InfoModal from '../forms/InfoModal';
 import ConfirmModal from '../forms/ConfirmModal';
 
 const displayTypes = {
@@ -97,8 +97,12 @@ class Homework extends Component {
   }
 
   renderTaskList(active, staff) {
+    const { user, homeworks } = this.props;
+    const profileSolutions = homeworks.solutions.filter(solution =>
+      solution.created_by === user.id);
+
     if (!staff) {
-      return this.props.homeworks.tasks
+      return homeworks.tasks
         .filter(task => moment().isBefore(task.deadline) === active)
         .map(task => (
           <Table.Row
@@ -128,6 +132,25 @@ class Homework extends Component {
             <Table.Cell>
               <Icon name={displayTypes[this.getTaskDisplayStyle(task)].icon} />{' '}
               {displayTypes[this.getTaskDisplayStyle(task)].text}
+              {profileSolutions.filter(solution => solution.task === task.id)
+                && profileSolutions.filter(solution => solution.task === task.id).slice(-1)[0]
+                && profileSolutions.filter(solution => solution.task === task.id).slice(-1)[0].note
+                ?
+                  <div>
+                    <InfoModal
+                      button={
+                        <button id='tasknote'>
+                          (MegjegyzĂŠs <Icon name='external' />)
+                        </button>
+                      }
+                      title='MegjegyzĂŠs a feladathoz'
+                      content={profileSolutions.filter(solution =>
+                      solution.task === task.id).slice(-1)[0].note}
+                      onAccept={() => {}}
+                    />
+                  </div>
+                : ''
+              }
             </Table.Cell>
           </Table.Row>
         ));
@@ -286,14 +309,16 @@ class Homework extends Component {
   }
 
   render() {
-    if (this.props.user.role === 'Student') {
+    const { user } = this.props;
+
+    if (user.role === 'Student') {
       return (
         <div>
           {this.renderHomeworks(true, false)}
           {this.renderHomeworks(false, false)}
         </div>
       );
-    } else if (this.props.user.role === 'Staff') {
+    } else if (user.role === 'Staff') {
       return (
         <div>
           <Segment style={{ padding: '0 0 2em 0' }} vertical basic>
@@ -333,7 +358,6 @@ export default connect(
     getSolutions,
     addTask,
     deleteTask,
-    addDocument,
     getProfiles,
   },
 )(Homework);
-- 
GitLab