Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,21 @@ public class ReviewPeriod {
@Schema(description = "the id of the self-review template to be used for this review period")
private UUID selfReviewTemplateId;

@Nullable
@Column(name = "launch_date")
private LocalDateTime launchDate;

@Nullable
@Column(name = "self_review_close_date")
private LocalDateTime selfReviewCloseDate;

@Nullable
@Column(name = "close_date")
private LocalDateTime closeDate;

public ReviewPeriod(String name, ReviewStatus reviewStatus, @Nullable UUID reviewTemplateId, @Nullable UUID selfReviewTemplateId,
LocalDateTime launchDate, LocalDateTime selfReviewCloseDate, LocalDateTime closeDate) {
public ReviewPeriod(String name, ReviewStatus reviewStatus, @Nullable UUID reviewTemplateId,
@Nullable UUID selfReviewTemplateId, @Nullable LocalDateTime launchDate,
@Nullable LocalDateTime selfReviewCloseDate, @Nullable LocalDateTime closeDate) {
this.name = name;
this.reviewStatus = reviewStatus;
this.reviewTemplateId = reviewTemplateId;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.objectcomputing.checkins.services.reviews;

import io.micronaut.core.annotation.Introspected;
import io.micronaut.core.annotation.Nullable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand All @@ -24,14 +25,19 @@ public class ReviewPeriodCreateDTO {
@Schema(implementation = ReviewStatus.class, required = true, description = "the status of the review")
private ReviewStatus reviewStatus;

@Nullable
private UUID reviewTemplateId;

@Nullable
private UUID selfReviewTemplateId;

@Nullable
private LocalDateTime launchDate;

@Nullable
private LocalDateTime selfReviewCloseDate;

@Nullable
private LocalDateTime closeDate;

public ReviewPeriod convertToEntity(){
Expand Down
38 changes: 19 additions & 19 deletions web-ui/src/components/reviews/periods/ReviewPeriods.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,10 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
const [canSave, setCanSave] = useState(false);
const [confirmOpen, setConfirmOpen] = useState(false);
const [loading, setLoading] = useState(false);
const [status, setStatus] = useState(ReviewStatus.CLOSED);
const [reviewStatus, setReviewStatus] = useState(ReviewStatus.CLOSED);
const [periodToAdd, setPeriodToAdd] = useState({
name: '',
status: ReviewStatus.OPEN
reviewStatus: ReviewStatus.OPEN
});
const [selfReviews, setSelfReviews] = useState(null);
const [templates, setTemplates] = useState([]);
Expand All @@ -136,12 +136,12 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
const isAdmin = userProfile?.role?.includes('ADMIN');

const handleOpen = useCallback(
() => setStatus(ReviewStatus.OPEN),
[setStatus]
() => setReviewStatus(ReviewStatus.OPEN),
[setReviewStatus]
);
const handleClose = useCallback(
() => setStatus(ReviewStatus.CLOSED),
[setStatus]
() => setReviewStatus(ReviewStatus.CLOSED),
[setReviewStatus]
);

const findPeriodByName = useCallback(
Expand All @@ -164,7 +164,7 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
data && dispatch({ type: ADD_REVIEW_PERIOD, payload: data });
}
handleClose();
setPeriodToAdd({ name: '', status: ReviewStatus.OPEN });
setPeriodToAdd({ name: '', reviewStatus: ReviewStatus.OPEN });
},
[
csrf,
Expand All @@ -183,8 +183,8 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
return;
}
const toUpdate = selectReviewPeriod(state, id);
toUpdate.status =
toUpdate?.status === ReviewStatus.CLOSED
toUpdate.reviewStatus =
toUpdate?.reviewStatus === ReviewStatus.CLOSED
? ReviewStatus.OPEN
: ReviewStatus.CLOSED;
const res = await updateReviewPeriod(toUpdate, csrf);
Expand All @@ -199,7 +199,7 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
periodId => {
if (mode === 'self') {
if (
selectReviewPeriod(state, periodId)?.status === ReviewStatus.status
selectReviewPeriod(state, periodId)?.reviewStatus === ReviewStatus.OPEN
) {
if (
!selfReviews ||
Expand Down Expand Up @@ -317,7 +317,7 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {

const onPeriodClick = useCallback(
id => {
if (selectReviewPeriod(state, id)?.status === ReviewStatus.OPEN) {
if (selectReviewPeriod(state, id)?.reviewStatus === ReviewStatus.OPEN) {
onPeriodSelected(id);
}
},
Expand Down Expand Up @@ -386,34 +386,34 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
) : periods.length > 0 ? (
periods
.sort((a, b) => {
return a.status === b.status
return a.reviewStatus === b.reviewStatus
? ('' + a.name).localeCompare(b.name)
: a.status === ReviewStatus.OPEN
: a.reviewStatus === ReviewStatus.OPEN
? -1
: 1;
})
.map(({ name, status, id }, i) => (
.map(({ name, reviewStatus, id }, i) => (
<>
<ListItem
secondaryAction={
isAdmin && (
<>
<Tooltip
title={
status === ReviewStatus.OPEN
reviewStatus === ReviewStatus.OPEN
? 'Archive'
: 'Unarchive'
}
>
<IconButton
onClick={() => toggleReviewPeriod(id)}
aria-label={
status === ReviewStatus.OPEN
reviewStatus === ReviewStatus.OPEN
? 'Archive'
: 'Unarchive'
}
>
{status === ReviewStatus.OPEN ? (
{reviewStatus === ReviewStatus.OPEN ? (
<ArchiveIcon />
) : (
<UnarchiveIcon />
Expand Down Expand Up @@ -446,7 +446,7 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
key={`period-lit-${id}`}
onClick={() => onPeriodClick(id)}
primary={
name + (status === ReviewStatus.OPEN ? ' - Open' : '')
name + (reviewStatus === ReviewStatus.OPEN ? ' - Open' : '')
}
secondary={getSecondaryLabel(id)}
/>
Expand All @@ -459,7 +459,7 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
</Typography>
)}
</List>
<Modal open={status === ReviewStatus.OPEN} onClose={handleClose}>
<Modal open={reviewStatus === ReviewStatus.OPEN} onClose={handleClose}>
<Box sx={modalStyles}>
<TextField
className="fullWidth"
Expand Down