Skip to content

Commit 0602f28

Browse files
committed
fix: include fieldtype to remove answer for non signature for mrf
1 parent 81c04c6 commit 0602f28

File tree

5 files changed

+20
-7
lines changed

5 files changed

+20
-7
lines changed

__tests__/unit/backend/helpers/generate-email-data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const generateSingleAnswerAutoreply = (
1616
): EmailRespondentConfirmationField => ({
1717
question: response.question,
1818
answerTemplate: response.answer.split('\n'),
19+
fieldType: response.fieldType,
1920
})
2021

2122
export const generateSingleAnswerFormData = (

src/app/modules/submission/email-submission/email-submission.util.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ export const getFormattedResponse = (
280280
autoReplyData = {
281281
question, // No prefixes for autoreply
282282
answerTemplate: answerSplitByNewLine,
283+
fieldType,
283284
}
284285
}
285286

@@ -560,6 +561,7 @@ const maskUidOnLastField = (
560561
return {
561562
question: autoReplyField.question,
562563
answerTemplate: maskedAnswerTemplate,
564+
fieldType: autoReplyField.fieldType,
563565
}
564566
} else {
565567
return autoReplyField
@@ -638,6 +640,7 @@ const getAutoReplyFormattedResponse = (
638640
...(response.fieldType === BasicField.Signature && {
639641
answer: response.answer,
640642
}), // add signature answer for PDF generation
643+
fieldType: response.fieldType,
641644
}
642645
}
643646
return undefined

src/app/modules/submission/multirespondent-submission/multirespondent-submission.service.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -887,14 +887,16 @@ const generatePdfAttachmentIfRequired = ({
887887
return okAsync(undefined)
888888
}
889889

890+
const responsesData = getResponsesDataFromMrfResponses({
891+
formFields: form.form_fields,
892+
responses,
893+
})
894+
890895
const pdfRenderData = generatePdfRenderData({
891896
refNo: submissionId,
892897
formTitle: form.title,
893898
submissionDateTime: submission.created ?? new Date(),
894-
responsesData: getResponsesDataFromMrfResponses({
895-
formFields: form.form_fields,
896-
responses,
897-
}),
899+
responsesData,
898900
formUrl: `${config.app.appUrl}/${form._id}`,
899901
})
900902

src/app/modules/submission/multirespondent-submission/multirespondent-submission.utils.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ export type QuestionAnswerPair = {
282282
question: string
283283
answer: string
284284
signatureDataPngDataUri?: string
285+
fieldType: BasicField
285286
}
286287

287288
/**
@@ -371,6 +372,7 @@ const getQuestionAnswerPairsForOneField = ({
371372
questionAnswerPairs.push({
372373
question,
373374
answer,
375+
fieldType: response.fieldType,
374376
})
375377
}
376378
return questionAnswerPairs
@@ -399,6 +401,7 @@ const getQuestionAnswerPairsForOneField = ({
399401
signatureDataPngDataUri: includeSignatureDataPngDataUri
400402
? convertToSignaturePngDataUri(response.answer.value)
401403
: undefined,
404+
fieldType: response.fieldType,
402405
}
403406
return [signatureQuestionAnswer]
404407
}
@@ -412,6 +415,7 @@ const getQuestionAnswerPairsForOneField = ({
412415
answer: child
413416
? child.toString()
414417
: response.answer.childFields.map(() => '').toString(),
418+
fieldType: response.fieldType,
415419
})
416420
}
417421
return questionAnswerPairs
@@ -422,6 +426,7 @@ const getQuestionAnswerPairsForOneField = ({
422426
questionAnswerPairs.push({
423427
question: questionTitle,
424428
answer,
429+
fieldType: response.fieldType,
425430
})
426431
return questionAnswerPairs
427432
}
@@ -463,10 +468,11 @@ export const getQuestionAnswerPairsForMultipleFields = ({
463468
// Add Ndi responses if they exist
464469
for (const key in responses) {
465470
if (startsWithSPCPFieldTitle(key)) {
466-
const value = responses[key] as NdiResponseV3
471+
const { answer, fieldType } = responses[key] as NdiResponseV3
467472
questionAnswerPairs.push({
468473
question: key,
469-
answer: value.answer,
474+
answer,
475+
fieldType,
470476
})
471477
}
472478
}
@@ -499,6 +505,7 @@ export const getResponsesDataFromMrfResponses = ({
499505
question: questionAnswerPair.question,
500506
answerTemplate: [questionAnswerPair.answer],
501507
answer: questionAnswerPair.signatureDataPngDataUri,
508+
fieldType: questionAnswerPair.fieldType,
502509
}
503510
})
504511
}

src/types/email_mode_data.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { BasicField } from '../../shared/types'
33
export type EmailRespondentConfirmationField = {
44
question: string
55
answerTemplate: string[]
6-
fieldType?: BasicField
6+
fieldType: BasicField
77
answer?: string
88
}
99

0 commit comments

Comments
 (0)