From f9a2a08d0c42a9d1a3a40f18a5986834cc9de68d Mon Sep 17 00:00:00 2001
From: vimal1083 <vimal1083@gmail.com>
Date: Tue, 27 Oct 2020 11:59:38 +0530
Subject: [PATCH] Update draft in determination

---
 .../containers/FormContainer/helpers.js       |  2 +-
 .../src/app/src/containers/Determination.js   | 12 ++++------
 .../src/containers/DeterminationForm/sagas.js | 22 -------------------
 .../src/app/src/redux/reducers/submissions.js |  2 --
 4 files changed, 5 insertions(+), 33 deletions(-)

diff --git a/hypha/static_src/src/app/src/common/containers/FormContainer/helpers.js b/hypha/static_src/src/app/src/common/containers/FormContainer/helpers.js
index a1781b789..ae782eecd 100644
--- a/hypha/static_src/src/app/src/common/containers/FormContainer/helpers.js
+++ b/hypha/static_src/src/app/src/common/containers/FormContainer/helpers.js
@@ -28,7 +28,7 @@ export const initializer = (fields, initialValues = false) => {
         { deep: true }
       )
     }
-    if (field.type === "ChoiceField" && !formState.values[field.kwargs.label]) {
+    if ((field.type === "ChoiceField" && !formState.values[field.kwargs.label]) || (field.type === "TypedChoiceField" && field.kwargs.initial === null)) {
       formState = formState.merge(
         {
           values: {
diff --git a/hypha/static_src/src/app/src/containers/Determination.js b/hypha/static_src/src/app/src/containers/Determination.js
index b296ff7be..c821f2b83 100644
--- a/hypha/static_src/src/app/src/containers/Determination.js
+++ b/hypha/static_src/src/app/src/containers/Determination.js
@@ -10,10 +10,6 @@ class DeterminationContainer extends React.PureComponent {
 
     render(){
         const determination = this.props.submission ? this.props.submission.determination : null
-        const drafted = determination && 
-        determination.count ? 
-        determination.determinations[1] ? Math.max(determination.determinations[0].id, determination.determinations[1].id): determination.determinations[0].id 
-        : null
         return <div className="determination-container">
             {determination  ? 
             <SidebarBlock title="Determination">
@@ -24,9 +20,9 @@ class DeterminationContainer extends React.PureComponent {
                    {determination.determinations.map((d, index) => {
                        return (
                            <p key={index}>
-                            {this.props.determinationDraftStatus && d.id == drafted && 
-                            "[Draft]"}{d.outcome}- {d.updatedAt.slice(0,10)} by {d.author}
-                           {(!this.props.determinationDraftStatus || (this.props.determinationDraftStatus && d.id != drafted)) 
+                            {d.isDraft && "[Draft]"}
+                            {d.outcome} - {d.updatedAt.slice(0,10)} by {d.author}
+                           {(!this.props.determinationDraftStatus || (this.props.determinationDraftStatus && !d.isDraft)) 
                             &&
                            <a onClick={() => { this.props.setCurrentDetermination(d.id); this.props.toggleDeterminationForm(true) }} title="Edit" >
                              <svg className="icon icon--pen"><use href="#pen"></use></svg>
@@ -39,7 +35,7 @@ class DeterminationContainer extends React.PureComponent {
                 </>
                 }
                 {this.props.determinationDraftStatus && 
-                <div className="status-actions"><button onClick = {() =>  this.props.toggleDeterminationForm(true)} className="button button--primary button--half-width">Update Draft</button></div>}
+                <div className="status-actions"><button onClick = {() =>  this.props.toggleDeterminationForm(true)} className="button button--primary button--half-width">Update draft</button></div>}
                 {!this.props.determinationDraftStatus && 
                 this.props.submission.actions.some(action => action.display.includes("Determination")) && <div className="status-actions"><button onClick = {() =>  this.props.toggleDeterminationForm(true)} className="button button--primary button--full-width">Add determination</button></div>}
             </SidebarBlock>
diff --git a/hypha/static_src/src/app/src/containers/DeterminationForm/sagas.js b/hypha/static_src/src/app/src/containers/DeterminationForm/sagas.js
index 01dacc350..f4f234b68 100644
--- a/hypha/static_src/src/app/src/containers/DeterminationForm/sagas.js
+++ b/hypha/static_src/src/app/src/containers/DeterminationForm/sagas.js
@@ -58,27 +58,6 @@ function* submitDetermination(action){
   }
 }
 
-// function* deleteDetermination(action){
-//   const url = `/v1/submissions/${action.id}/determinations/${action.determinationId}`
-//   try{
-//     yield put(Actions.showLoadingAction())
-//     yield call(
-//       apiFetch, 
-//       {
-//         path : url,
-//         method : "DELETE",
-//       }
-//       )
-//     yield put(Actions.clearInitialValues())
-//     yield put(clearCurrentDeterminationAction()) 
-//     yield put(toggleDeterminationFormAction(false))
-//     yield put(Actions.hideLoadingAction())
-
-//   }catch(e){
-//      yield put(Actions.hideLoadingAction())
-//   }
-// }
-
 function* updateDetermination(action){
   const url = `/v1/submissions/${action.id}/determinations/${action.determinationId}/`
   try{
@@ -105,6 +84,5 @@ function* updateDetermination(action){
 export default function* homePageSaga() {
   yield takeLatest(ActionTypes.INITIALIZE, initialFetch);
   yield takeLatest(ActionTypes.SUBMIT_DETERMINATION_DATA, submitDetermination)
-  // yield takeLatest(ActionTypes.DELETE_DETERMINATION_DATA, deleteDetermination)
   yield takeLatest(ActionTypes.UPDATE_DETERMINATION_DATA, updateDetermination)
 }
diff --git a/hypha/static_src/src/app/src/redux/reducers/submissions.js b/hypha/static_src/src/app/src/redux/reducers/submissions.js
index 7d86158d3..e60332e0d 100644
--- a/hypha/static_src/src/app/src/redux/reducers/submissions.js
+++ b/hypha/static_src/src/app/src/redux/reducers/submissions.js
@@ -20,8 +20,6 @@ import {
     CLEAR_CURRENT_DETERMINATION,
     FETCH_DETERMINATION_DRAFT,
     CLEAR_DETERMINATION_DRAFT,
-    DETERMINATION_OUTCOME,
-    CLEAR_DETERMINATION_OUTCOME
 } from '@actions/submissions';
 
 import { CREATE_NOTE, UPDATE_NOTES, UPDATE_NOTE } from '@actions/notes'
-- 
GitLab