Skip to content

Commit b36e527

Browse files
committed
2024-11-18 - cleanup submit page for ext-recip
1 parent b477a7f commit b36e527

File tree

4 files changed

+31
-24
lines changed

4 files changed

+31
-24
lines changed

server/src/main/java/com/objectcomputing/checkins/services/feedback_request/FeedbackRequestExternalRecipientController.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.objectcomputing.checkins.exceptions.BadArgException;
44
import com.objectcomputing.checkins.security.ImpersonationController;
5+
import com.objectcomputing.checkins.services.feedback_answer.question_and_answer.QuestionAndAnswerServices;
56
import com.objectcomputing.checkins.services.feedback_external_recipient.FeedbackExternalRecipientServices;
67
import com.objectcomputing.checkins.services.memberprofile.*;
78
import io.micronaut.core.annotation.Nullable;
@@ -41,11 +42,13 @@ public class FeedbackRequestExternalRecipientController {
4142
private static final Logger LOG = LoggerFactory.getLogger(FeedbackRequestExternalRecipientController.class);
4243
private static final Base64.Encoder base64Encoder = Base64.getUrlEncoder();
4344
private final MemberProfileServices memberProfileServices;
45+
private final QuestionAndAnswerServices questionAndAnswerServices;
4446

45-
public FeedbackRequestExternalRecipientController(FeedbackRequestServices feedbackRequestServices, FeedbackExternalRecipientServices feedbackExternalRecipientServices, MemberProfileServices memberProfileServices) {
47+
public FeedbackRequestExternalRecipientController(FeedbackRequestServices feedbackRequestServices, FeedbackExternalRecipientServices feedbackExternalRecipientServices, MemberProfileServices memberProfileServices, QuestionAndAnswerServices questionAndAnswerServices) {
4648
this.feedbackReqServices = feedbackRequestServices;
4749
this.feedbackExternalRecipientServices = feedbackExternalRecipientServices;
4850
this.memberProfileServices = memberProfileServices;
51+
this.questionAndAnswerServices = questionAndAnswerServices;
4952
}
5053

5154
/**
@@ -219,4 +222,13 @@ public HttpResponse<MemberProfileResponseDTO> getRequesterForFeedbackRequest(UUI
219222
.headers(headers -> headers.location(location(memberProfile.getId())));
220223
}
221224

225+
@Get("/getAllQuestionsAndAnswers/{requestId}")
226+
public List<QuestionAndAnswerServices.Tuple> getAllQuestionsAndAnswers(@Nullable UUID requestId) {
227+
FeedbackRequest feedbackRequest = feedbackReqServices.getById(requestId);
228+
if (feedbackRequest.getExternalRecipientId() == null) {
229+
throw new BadArgException("This feedback request is not for an external recipient");
230+
}
231+
return questionAndAnswerServices.getAllQuestionsAndAnswers(requestId);
232+
}
233+
222234
}

server/src/main/java/com/objectcomputing/checkins/services/feedback_template/template_question/TemplateQuestionServicesImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,5 @@ public boolean getIsPermitted(UUID templateQuestionId) {
170170

171171
return (currentUserId != null || (feedbackTemplate.isPresent() && feedbackTemplate.get().getIsForExternalRecipient() != null && feedbackTemplate.get().getIsForExternalRecipient() == true));
172172
}
173+
173174
}

web-ui-external-feedback/src/api/feedbackanswer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { resolve } from './api.js';
22
import { chain } from 'lodash';
33

44
const feedbackAnswerUrl = '/services/feedback/answers';
5-
const questionsAndAnswersUrl = '/services/feedback/questions-and-answers';
5+
const questionsAndAnswersUrl = '/questions-and-answers';
66

77
export const createFeedbackAnswer = async (feedbackAnswer, cookie) => {
88
return resolve({
@@ -36,7 +36,7 @@ export const getAnswersFromRequest = async (feedbackRequestId, cookie) => {
3636

3737
export const getQuestionAndAnswer = async (requestId, cookie) => {
3838
return resolve({
39-
url: `${questionsAndAnswersUrl}/${requestId}`,
39+
url: `/getAllQuestionsAndAnswers/${requestId}`,
4040
headers: { 'X-CSRF-Header': cookie, Accept: 'application/json' }
4141
});
4242
};

web-ui-external-feedback/src/pages/FeedbackSubmitPage.jsx

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -121,31 +121,23 @@ const FeedbackSubmitPage = () => {
121121

122122
useEffect(() => {
123123
const fetchDataRequestee = async () => {
124-
// Your initialization logic here
125-
console.log('Page loaded');
126-
// Invoke getRequesteeForFeedbackRequest and assign result to a const-variable
127-
const requesteeData = await getRequesteeForFeedbackRequest(feedbackRequest?.id, csrf);
128-
console.log("FeedbackSubmitPage, useEffect[feedbackRequest, selfReviewRequest, state], requesteeData: ", requesteeData);
129-
};
130-
131-
fetchDataRequestee();
132-
}, [csrf, feedbackRequest, state])
133-
;
134-
135-
useEffect(() => {
136-
console.log('Page loaded 02');
137124
if (feedbackRequest) {
138125
feedbackRequestFetched.current = true;
139126
}
140-
141127
if (feedbackRequestFetched.current) {
142-
const requesteeProfile = selectProfile(
143-
state,
144-
feedbackRequest?.requesteeId
145-
);
146-
setRequestee(requesteeProfile);
128+
const res = await getRequesteeForFeedbackRequest(feedbackRequest?.id, csrf);
129+
const requesteeData = res.payload && res.payload.data && res.payload.status === 200 && !res.error
130+
? res.payload.data
131+
: null
132+
;
133+
console.log("FeedbackSubmitPage, useEffect[feedbackRequest, selfReviewRequest, state], requesteeData: ", requesteeData);
134+
setRequestee(requesteeData)
147135
}
148-
}, [feedbackRequest, selfReviewRequest, state]);
136+
};
137+
138+
fetchDataRequestee();
139+
}, [csrf, feedbackRequest, state])
140+
;
149141

150142
return (
151143
<Root className="feedback-submit-page">
@@ -163,7 +155,9 @@ const FeedbackSubmitPage = () => {
163155
<>
164156
{feedbackRequest &&
165157
(showTips ? (
166-
<FeedbackSubmissionTips onNextClick={() => setShowTips(false)} />
158+
<FeedbackSubmissionTips onNextClick={() =>
159+
setShowTips(false)
160+
} />
167161
) : (
168162
<FeedbackSubmitForm
169163
requesteeName={requestee?.name}

0 commit comments

Comments
 (0)