@@ -12,7 +12,6 @@ import { useLocation, Link } from 'react-router-dom';
1212import {
1313 AddCircle ,
1414 Archive ,
15- Delete ,
1615 Search ,
1716 Unarchive
1817} from '@mui/icons-material' ;
@@ -50,7 +49,6 @@ import {
5049 updateReviewPeriod
5150} from '../../api/reviewperiods.js' ;
5251import {
53- DELETE_REVIEW_PERIOD ,
5452 UPDATE_REVIEW_PERIOD ,
5553 UPDATE_REVIEW_PERIODS ,
5654 UPDATE_TOAST
@@ -61,7 +59,7 @@ import {
6159 selectCurrentMembers ,
6260 selectCurrentUser ,
6361 selectCurrentUserSubordinates ,
64- selectHasDeleteReviewPeriodPermission ,
62+ selectHasCloseReviewPeriodPermission ,
6563 selectHasLaunchReviewPeriodPermission ,
6664 selectHasUpdateReviewPeriodPermission ,
6765 selectReviewPeriod ,
@@ -136,7 +134,7 @@ const TeamReviews = ({ onBack, periodId }) => {
136134 const [ confirmApproveAllOpen , setConfirmApproveAllOpen ] = useState ( false ) ;
137135 const [ confirmationDialogOpen , setConfirmationDialogOpen ] = useState ( false ) ;
138136 const [ confirmationText , setConfirmationText ] = useState ( '' ) ;
139- const [ confirmDeleteOpen , setConfirmDeleteOpen ] = useState ( false ) ;
137+ const [ confirmCloseOpen , setConfirmCloseOpen ] = useState ( false ) ;
140138 const [ memberSelectorOpen , setMemberSelectorOpen ] = useState ( false ) ;
141139 const [ nameQuery , setNameQuery ] = useState ( '' ) ;
142140 const [ query , setQuery ] = useState ( { } ) ;
@@ -148,7 +146,7 @@ const TeamReviews = ({ onBack, periodId }) => {
148146 const [ showAll , setShowAll ] = useState ( false ) ;
149147 const [ hasShowAll , setHasShowAll ] = useState ( false ) ;
150148 const [ teamMembers , setTeamMembers ] = useState ( [ ] ) ;
151- const [ toDelete , setToDelete ] = useState ( null ) ;
149+ const [ toClose , setToClose ] = useState ( null ) ;
152150 const [ unapproved , setUnapproved ] = useState ( [ ] ) ;
153151 const [ validationMessage , setValidationMessage ] = useState ( null ) ;
154152 const [ confirmRevieweesWithNoSupervisorOpen , setConfirmRevieweesWithNoSupervisorOpen ] = useState ( false ) ;
@@ -348,31 +346,29 @@ const TeamReviews = ({ onBack, periodId }) => {
348346 }
349347 } , [ csrf , dispatch ] ) ;
350348
351- const confirmDelete = useCallback ( ( ) => {
352- setToDelete ( period . id ) ;
353- setConfirmDeleteOpen ( true ) ;
354- } , [ period , setToDelete , setConfirmDeleteOpen ] ) ;
349+ const confirmClose = useCallback ( ( ) => {
350+ setToClose ( period . id ) ;
351+ setConfirmCloseOpen ( true ) ;
352+ } , [ period , setToClose , setConfirmCloseOpen ] ) ;
355353
356- const handleConfirmDeleteClose = useCallback ( ( ) => {
357- setToDelete ( null ) ;
358- setConfirmDeleteOpen ( false ) ;
359- } , [ setToDelete , setConfirmDeleteOpen ] ) ;
354+ const handleConfirmCloseClose = useCallback ( ( ) => {
355+ setToClose ( null ) ;
356+ setConfirmCloseOpen ( false ) ;
357+ } , [ setToClose , setConfirmCloseOpen ] ) ;
360358
361359 const handleConfirmApproveAllClose = useCallback ( ( ) => {
362360 setConfirmApproveAllOpen ( false ) ;
363- } , [ setToDelete , setConfirmApproveAllOpen ] ) ;
361+ } , [ setConfirmApproveAllOpen ] ) ;
364362
365- const deleteReviewPeriod = useCallback ( async ( ) => {
363+ const closeReviewPeriod = useCallback ( async ( ) => {
366364 if ( ! csrf ) return ;
367365
368- await removeReviewPeriod ( toDelete , csrf ) ;
369- dispatch ( {
370- type : DELETE_REVIEW_PERIOD ,
371- payload : toDelete
372- } ) ;
373- handleConfirmDeleteClose ( ) ;
366+ if ( period . reviewStatus === ReviewStatus . OPEN ) {
367+ updateReviewPeriodStatus ( ReviewStatus . CLOSED ) ;
368+ }
369+ handleConfirmCloseClose ( ) ;
374370 onBack ( ) ;
375- } , [ csrf , dispatch , toDelete , handleConfirmDeleteClose ] ) ;
371+ } , [ csrf , dispatch , toClose , handleConfirmCloseClose ] ) ;
376372
377373 const getReviewers = useCallback (
378374 reviewee => {
@@ -829,14 +825,18 @@ const TeamReviews = ({ onBack, periodId }) => {
829825 }
830826 } ;
831827
832- const approvalButton = ( ) => {
828+ const modifierButton = ( ) => {
833829 switch ( period . reviewStatus ) {
834830 case ReviewStatus . PLANNING :
835831 return < Button onClick = { requestApproval } > Request Approval</ Button > ;
836832 case ReviewStatus . AWAITING_APPROVAL :
837833 return selectHasLaunchReviewPeriodPermission ( state ) ? (
838834 < Button onClick = { requestApproval } > Launch Review</ Button >
839835 ) : null ;
836+ case ReviewStatus . OPEN :
837+ return selectHasCloseReviewPeriodPermission ( state ) ? (
838+ < Button onClick = { confirmClose } > Close Review</ Button >
839+ ) : null ;
840840 default :
841841 return null ;
842842 }
@@ -971,7 +971,7 @@ const TeamReviews = ({ onBack, periodId }) => {
971971 disabled = { ! canUpdate }
972972 />
973973 </ div >
974- { approvalButton ( ) }
974+ { modifierButton ( ) }
975975 </ div >
976976 ) }
977977 { validationMessage && (
@@ -1093,11 +1093,11 @@ const TeamReviews = ({ onBack, periodId }) => {
10931093 } }
10941094 />
10951095 < ConfirmationDialog
1096- open = { confirmDeleteOpen }
1097- onYes = { deleteReviewPeriod }
1098- question = { `Are you sure you want to delete the review period ${ selectReviewPeriod ( state , toDelete ) ?. name } ?` }
1099- setOpen = { setConfirmDeleteOpen }
1100- title = "Delete this review period?"
1096+ open = { confirmCloseOpen }
1097+ onYes = { closeReviewPeriod }
1098+ question = { `Are you sure you want to close the review period ${ selectReviewPeriod ( state , toClose ) ?. name } ?` }
1099+ setOpen = { setConfirmCloseOpen }
1100+ title = "Close this review period?"
11011101 />
11021102 < ConfirmationDialog
11031103 open = { confirmApproveAllOpen }
0 commit comments