Skip to content

Commit ad99e4c

Browse files
committed
Merge branch 'develop' into feature-2645/feedback-request-add-ability-to-request-feedback-from-external-source
# Conflicts: # server/src/main/java/com/objectcomputing/checkins/services/reports/ReportDataCollation.java # server/src/test/java/com/objectcomputing/checkins/services/fixture/FeedbackRequestFixture.java
2 parents 16830e9 + 19e16b7 commit ad99e4c

File tree

7 files changed

+39
-27
lines changed

7 files changed

+39
-27
lines changed

server/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
id "jacoco"
88
}
99

10-
version "0.8.8"
10+
version "0.8.10"
1111
group "com.objectcomputing.checkins"
1212

1313
repositories {

server/src/main/java/com/objectcomputing/checkins/services/reports/ReportDataCollation.java

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,9 @@
2222
import com.objectcomputing.checkins.services.feedback_template.template_question.TemplateQuestion;
2323
import com.objectcomputing.checkins.services.employee_hours.EmployeeHoursServices;
2424
import com.objectcomputing.checkins.services.employee_hours.EmployeeHours;
25-
2625
import org.slf4j.Logger;
2726
import org.slf4j.LoggerFactory;
28-
29-
import java.util.UUID;
30-
import java.util.List;
31-
import java.util.ArrayList;
32-
import java.util.Map;
33-
import java.util.Set;
34-
import java.util.HashMap;
27+
import java.util.*;
3528
import java.time.LocalDate;
3629
import java.time.Month;
3730
import java.nio.ByteBuffer;
@@ -222,27 +215,29 @@ public ReportHours getReportHours() {
222215
private List<Feedback> getFeedbackType(FeedbackType type) {
223216
List<Feedback> feedback = new ArrayList<Feedback>();
224217

218+
ReviewPeriod reviewPeriod = reviewPeriodServices.findById(reviewPeriodId);
225219
// Get the list of requests for the member and review period.
226220
// We will need to cross-reference the templates.
227221
LocalDateRange dateRange = getDateRange();
228222
List<FeedbackRequest> requests =
229223
feedbackRequestServices.findByValues(null, memberId, null, null, null, null, null, null);
230224

225+
feedbackRequestServices.findByValues(null, memberId, null,
226+
reviewPeriod.getPeriodStartDate().toLocalDate(), null, null, null);
227+
List<FeedbackRequest> filtered = new LinkedList<>();
231228
// Iterate over each request and find the template. Determine the purpose
232229
// of the template.
233-
ReviewPeriod reviewPeriod = reviewPeriodServices.findById(reviewPeriodId);
234230
Map<UUID, String> templates = new HashMap<UUID, String>();
235231
for (FeedbackRequest request: requests) {
236232
// Make sure we haven't already considered this template.
237233
// Also, require that the request either be directly associated with
238234
// our review period or that the request was submitted within the time
239235
// range of our review period.
240-
if (!templates.containsKey(request.getTemplateId()) &&
241-
((request.getReviewPeriodId() != null &&
236+
if ((request.getReviewPeriodId() != null &&
242237
request.getReviewPeriodId().equals(reviewPeriod.getId())) ||
243-
(request.getSubmitDate() != null &&
244-
dateInRange(request.getSubmitDate(), dateRange.start,
245-
dateRange.end)))) {
238+
(request.getStatus().equalsIgnoreCase("submitted") &&
239+
request.getSendDate() != null &&
240+
request.getSendDate().isBefore(reviewPeriod.getCloseDate().toLocalDate()))) {
246241
try {
247242
FeedbackTemplate template =
248243
feedbackTemplateServices.getById(request.getTemplateId());
@@ -263,7 +258,10 @@ private List<Feedback> getFeedbackType(FeedbackType type) {
263258
break;
264259
}
265260
if (use) {
266-
templates.put(template.getId(), template.getTitle());
261+
filtered.add(request);
262+
if(!templates.containsKey(template.getId())) {
263+
templates.put(template.getId(), template.getTitle());
264+
}
267265
}
268266
} catch(NotFoundException ex) {
269267
LOG.error(ex.toString());
@@ -277,7 +275,7 @@ private List<Feedback> getFeedbackType(FeedbackType type) {
277275
String templateTitle = templates.get(templateId);
278276
List<Feedback.Answer> feedbackAnswers =
279277
new ArrayList<Feedback.Answer>();
280-
for (FeedbackRequest request: requests) {
278+
for (FeedbackRequest request: filtered) {
281279
if (request.getTemplateId().equals(templateId)) {
282280
UUID recipientId = request.getRecipientId();
283281
MemberProfile recipient = memberProfileServices.getById(

server/src/test/java/com/objectcomputing/checkins/services/fixture/FeedbackRequestFixture.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,16 @@
44
import com.objectcomputing.checkins.services.feedback_template.FeedbackTemplate;
55
import com.objectcomputing.checkins.services.memberprofile.MemberProfile;
66
import com.objectcomputing.checkins.services.reviews.ReviewPeriod;
7-
7+
import jnr.constants.platform.Local;
88
import java.time.LocalDate;
9-
9+
import java.time.LocalDateTime;
10+
import java.time.temporal.ChronoUnit;
11+
import java.time.temporal.TemporalField;
12+
import java.util.Date;
13+
import java.util.Random;
1014
import java.util.UUID;
1115
import java.util.List;
16+
import java.util.concurrent.ThreadLocalRandom;
1217

1318
public interface FeedbackRequestFixture extends RepositoryFixture, FeedbackTemplateFixture {
1419

@@ -92,6 +97,15 @@ default FeedbackRequest saveSampleFeedbackRequest(MemberProfile creator, MemberP
9297
return getFeedbackRequestRepository().save(new FeedbackRequest(creator.getId(), requestee.getId(), null, templateId, testDate, null, "pending", null, null, externalRecipient.getId()));
9398
}
9499

100+
default LocalDate getRandomLocalDateTime(LocalDateTime start, LocalDateTime end) {
101+
LocalDate startDate = start.toLocalDate();
102+
long daysBetween = ChronoUnit.DAYS.between(startDate, end.toLocalDate());
103+
Random random = new Random();
104+
long randomDays = random.nextLong(daysBetween);
105+
106+
return startDate.plusDays(randomDays);
107+
}
108+
95109
/**
96110
* Saves a sample feedback request
97111
* @param creator The {@link MemberProfile} of the creator of the feedback request

server/src/test/java/com/objectcomputing/checkins/services/fixture/ReviewPeriodFixture.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ default ReviewPeriod createAClosedReviewPeriod() {
8181

8282
default ReviewPeriod createAClosedReviewPeriod(
8383
LocalDateTime periodStart, LocalDateTime periodEnd) {
84-
LocalDateTime launchDate = LocalDateTime.now().plusMinutes(1)
85-
.truncatedTo(ChronoUnit.MILLIS);
86-
LocalDateTime selfReviewCloseDate = launchDate.plusDays(1);
87-
LocalDateTime closeDate = selfReviewCloseDate.plusDays(1);
84+
LocalDateTime launchDate = periodEnd.plusMinutes(1)
85+
.truncatedTo(ChronoUnit.MILLIS).plusDays(1);
86+
LocalDateTime selfReviewCloseDate = launchDate.plusDays(3);
87+
LocalDateTime closeDate = selfReviewCloseDate.plusDays(7);
8888
return getReviewPeriodRepository().save(
8989
new ReviewPeriod(
9090
"Period of Closure", ReviewStatus.CLOSED, null, null,

server/src/test/java/com/objectcomputing/checkins/services/reports/ReportDataControllerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ void createRolesAndPermissions() {
7575
questionTwo = saveAnotherTemplateQuestion(feedbackTemplate, 2);
7676
feedbackRequest = saveSampleFeedbackRequest(admin, regular, admin,
7777
feedbackTemplate.getId(),
78-
reviewPeriod);
78+
reviewPeriod, "submitted");
7979
saveSampleFeedbackAnswer(questionOne.getId(), feedbackRequest.getId());
8080
saveSampleFeedbackAnswer(questionTwo.getId(), feedbackRequest.getId());
8181

web-ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "web-ui",
3-
"version": "0.8.8",
3+
"version": "0.8.10",
44
"private": true,
55
"type": "module",
66
"dependencies": {

web-ui/src/components/kudos_dialog/KudosDialog.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,13 +317,13 @@ const KudosDialog = ({ open, recipient, teamId, onClose }) => {
317317
value={message}
318318
onChange={handleMessageChange}
319319
/>
320-
<Alert
320+
{publicKudos ? <Alert
321321
severity="info"
322322
style={{ marginTop: '1rem', marginBottom: '2rem' }}
323323
>
324324
Kudos will be visible to admins for approval, then sent to the
325325
recipient.
326-
</Alert>
326+
</Alert> : <div style={{ height: "20px" }}/>}
327327
<Button
328328
variant="contained"
329329
disabled={message.trim().length === 0}

0 commit comments

Comments
 (0)