Skip to content

Commit d292c87

Browse files
committed
If bio, kudos, self-review, reviews, or feedback not available, provide text indicating such.
1 parent 19e16b7 commit d292c87

File tree

1 file changed

+55
-40
lines changed

1 file changed

+55
-40
lines changed

web-ui/src/pages/MeritReportPage.jsx

Lines changed: 55 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import { useQueryParameters } from '../helpers/query-parameters';
1919

2020
import markdown from 'markdown-builder';
2121

22+
const noneAvailable = "None available during the period covered by this review.";
23+
2224
const MeritReportPage = () => {
2325
const { state, dispatch } = useContext(AppContext);
2426

@@ -256,49 +258,58 @@ const MeritReportPage = () => {
256258
let text = markdown.headers.h1("Current Information");
257259
text += years.toFixed(1) + " years\n\n";
258260
text += markdown.headers.h2("Biographical Notes");
259-
text += currentInfo.biography + "\n\n";
261+
text += (currentInfo.biography ? currentInfo.biography :
262+
noneAvailable) + "\n\n";
260263
return text;
261264
};
262265

263266
const markdownKudos = (data) => {
264267
const kudosList = data.kudos;
265268
let text = markdown.headers.h1("Kudos");
266-
for (let kudos of kudosList) {
267-
const date = dateFromArray(kudos.dateCreated);
268-
text += kudos.message + "\n\n";
269-
text += "     " +
270-
markdown.emphasis.i("Submitted on " + formatDate(date) +
271-
", by " + kudos.sender) +
272-
"\n\n\n";
269+
if (kudosList.length > 0) {
270+
for (let kudos of kudosList) {
271+
const date = dateFromArray(kudos.dateCreated);
272+
text += kudos.message + "\n\n";
273+
text += "     " +
274+
markdown.emphasis.i("Submitted on " + formatDate(date) +
275+
", by " + kudos.sender) +
276+
"\n\n\n";
277+
}
278+
} else {
279+
text += noneAvailable + "\n\n";
273280
}
274281
return text;
275282
};
276283

277284
const markdownReviewsImpl = (title, feedbackList, listMembers) => {
278285
let text = markdown.headers.h1(title);
279-
for(let feedback of feedbackList) {
280-
const members = getUniqueMembers(feedback.answers);
281-
for(let member of Object.keys(members)) {
282-
if (listMembers) {
283-
text += member + ": ";
284-
}
285-
text += "Submitted - " + formatDate(members[member]) + "\n\n";
286-
}
287-
text += "\n";
288-
289-
const questions = getUniqueQuestions(feedback.answers);
290-
for(let question of Object.keys(questions)) {
291-
text += markdown.headers.h4(question) + "\n";
292-
for(let answer of questions[question]) {
286+
if (feedbackList.length > 0) {
287+
for(let feedback of feedbackList) {
288+
const members = getUniqueMembers(feedback.answers);
289+
for(let member of Object.keys(members)) {
293290
if (listMembers) {
294-
text += answer[0] + ": ";
291+
text += member + ": ";
295292
}
296-
text += answer[1] + "\n\n";
293+
text += "Submitted - " + formatDate(members[member]) + "\n\n";
297294
}
298295
text += "\n";
296+
297+
const questions = getUniqueQuestions(feedback.answers);
298+
for(let question of Object.keys(questions)) {
299+
text += markdown.headers.h4(question) + "\n";
300+
for(let answer of questions[question]) {
301+
if (listMembers) {
302+
text += answer[0] + ": ";
303+
}
304+
text += answer[1] + "\n\n";
305+
}
306+
text += "\n";
307+
}
299308
}
309+
text += "\n";
310+
} else {
311+
text += noneAvailable + "\n\n";
300312
}
301-
text += "\n";
302313
return text;
303314
}
304315

@@ -347,31 +358,35 @@ const MeritReportPage = () => {
347358
const markdownFeedback = (data) => {
348359
let text = markdown.headers.h1("Feedback");
349360
const feedbackList = data.feedback;
350-
for(let feedback of feedbackList) {
351-
text += markdown.headers.h2("Template: " + feedback.name);
352-
const members = getUniqueMembers(feedback.answers);
353-
for(let member of Object.keys(members)) {
354-
text += member + ": " + formatDate(members[member]) + "\n\n";
355-
}
356-
text += "\n";
357-
358-
const questions = getUniqueQuestions(feedback.answers);
359-
for(let question of Object.keys(questions)) {
360-
text += markdown.headers.h4(question) + "\n";
361-
for(let answer of questions[question]) {
362-
text += answer[0] + ": " + answer[1] + "\n\n";
361+
if (feedbackList.length > 0) {
362+
for(let feedback of feedbackList) {
363+
text += markdown.headers.h2("Template: " + feedback.name);
364+
const members = getUniqueMembers(feedback.answers);
365+
for(let member of Object.keys(members)) {
366+
text += member + ": " + formatDate(members[member]) + "\n\n";
363367
}
364368
text += "\n";
369+
370+
const questions = getUniqueQuestions(feedback.answers);
371+
for(let question of Object.keys(questions)) {
372+
text += markdown.headers.h4(question) + "\n";
373+
for(let answer of questions[question]) {
374+
text += answer[0] + ": " + answer[1] + "\n\n";
375+
}
376+
text += "\n";
377+
}
365378
}
379+
text += "\n";
380+
} else {
381+
text += noneAvailable + "\n\n";
366382
}
367-
text += "\n";
368383
return text;
369384
};
370385

371386
const markdownTitleHistory = (data) => {
372387
// Get the position history sorted latest to earliest
373388
const posHistory = data.positionHistory.sort((a, b) => {
374-
for(let i = 0; i < a.length; i++) {
389+
for(let i = 0; i < a.date.length; i++) {
375390
if (a.date[i] != b.date[i]) {
376391
return b.date[i] - a.date[i];
377392
}

0 commit comments

Comments
 (0)