Skip to content

Commit e97a3ba

Browse files
authored
Add informant type handlebar and localise handlebars (#5140)
* Add informant type handlebar and localise all message descriptors in cert * Fix test * Fix certificate preview * Combine approaches to localisation of certs * Fixed PDFUtils test
1 parent 8fcdb3a commit e97a3ba

File tree

10 files changed

+228
-93
lines changed

10 files changed

+228
-93
lines changed

packages/client/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"google-libphonenumber": "^3.2.32",
3838
"graphql": "^15.0.0",
3939
"graphql-tools": "^4.0.7",
40+
"handlebars": "^4.7.6",
4041
"history": "^4.7.2",
4142
"http-proxy-middleware": "^0.20.0",
4243
"jsdom-worker": "^0.2.1",
@@ -113,6 +114,7 @@
113114
"@types/enzyme": "^3.1.13",
114115
"@types/enzyme-adapter-react-16": "^1.0.3",
115116
"@types/fetch-mock": "^7.3.0",
117+
"@types/handlebars": "^4.1.0",
116118
"@types/google-libphonenumber": "^7.4.23",
117119
"@types/jwt-decode": "^2.2.1",
118120
"@types/lodash": "^4.14.149",

packages/client/src/forms/configuration/default.ts

Lines changed: 45 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -63,39 +63,39 @@ export const registerForms: IDefaultRegisterForms = {
6363
options: [
6464
{
6565
value: 'MOTHER',
66-
label: informantMessageDescriptors.mother
66+
label: informantMessageDescriptors.MOTHER
6767
},
6868
{
6969
value: 'FATHER',
70-
label: informantMessageDescriptors.father
70+
label: informantMessageDescriptors.FATHER
7171
},
7272
{
7373
value: 'GRANDFATHER',
74-
label: informantMessageDescriptors.grandfather
74+
label: informantMessageDescriptors.GRANDFATHER
7575
},
7676
{
7777
value: 'GRANDMOTHER',
78-
label: informantMessageDescriptors.grandmother
78+
label: informantMessageDescriptors.GRANDMOTHER
7979
},
8080
{
8181
value: 'BROTHER',
82-
label: informantMessageDescriptors.brother
82+
label: informantMessageDescriptors.BROTHER
8383
},
8484
{
8585
value: 'SISTER',
86-
label: informantMessageDescriptors.sister
86+
label: informantMessageDescriptors.SISTER
8787
},
8888
{
8989
value: 'OTHER_FAMILY_MEMBER',
90-
label: informantMessageDescriptors.otherFamilyMember
90+
label: informantMessageDescriptors.OTHER_FAMILY_MEMBER
9191
},
9292
{
9393
value: 'LEGAL_GUARDIAN',
94-
label: informantMessageDescriptors.legalGuardian
94+
label: informantMessageDescriptors.LEGAL_GUARDIAN
9595
},
9696
{
9797
value: 'OTHER',
98-
label: formMessageDescriptors.someoneElse
98+
label: informantMessageDescriptors.OTHER
9999
}
100100
],
101101
placeholder: formMessageDescriptors.formSelectPlaceholder,
@@ -179,39 +179,39 @@ export const registerForms: IDefaultRegisterForms = {
179179
options: [
180180
{
181181
value: 'MOTHER',
182-
label: informantMessageDescriptors.mother
182+
label: informantMessageDescriptors.MOTHER
183183
},
184184
{
185185
value: 'FATHER',
186-
label: informantMessageDescriptors.father
186+
label: informantMessageDescriptors.FATHER
187187
},
188188
{
189189
value: 'GRANDFATHER',
190-
label: informantMessageDescriptors.grandfather
190+
label: informantMessageDescriptors.GRANDFATHER
191191
},
192192
{
193193
value: 'GRANDMOTHER',
194-
label: informantMessageDescriptors.grandmother
194+
label: informantMessageDescriptors.GRANDMOTHER
195195
},
196196
{
197197
value: 'BROTHER',
198-
label: informantMessageDescriptors.brother
198+
label: informantMessageDescriptors.BROTHER
199199
},
200200
{
201201
value: 'SISTER',
202-
label: informantMessageDescriptors.sister
202+
label: informantMessageDescriptors.SISTER
203203
},
204204
{
205205
value: 'OTHER_FAMILY_MEMBER',
206-
label: informantMessageDescriptors.otherFamilyMember
206+
label: informantMessageDescriptors.OTHER_FAMILY_MEMBER
207207
},
208208
{
209209
value: 'LEGAL_GUARDIAN',
210-
label: informantMessageDescriptors.legalGuardian
210+
label: informantMessageDescriptors.LEGAL_GUARDIAN
211211
},
212212
{
213213
value: 'OTHER',
214-
label: formMessageDescriptors.someoneElse
214+
label: informantMessageDescriptors.OTHER
215215
}
216216
],
217217
nestedFields: {
@@ -560,6 +560,10 @@ export const registerForms: IDefaultRegisterForms = {
560560
fieldName: 'registrationNumber',
561561
operation: 'registrationNumberTransformer'
562562
},
563+
{
564+
fieldName: 'informantType',
565+
operation: 'informantTypeTransformer'
566+
},
563567
{
564568
fieldName: 'mosipAid',
565569
operation: 'mosipAidTransformer'
@@ -2432,39 +2436,39 @@ export const registerForms: IDefaultRegisterForms = {
24322436
options: [
24332437
{
24342438
value: 'SPOUSE',
2435-
label: informantMessageDescriptors.spouse
2439+
label: informantMessageDescriptors.SPOUSE
24362440
},
24372441
{
24382442
value: 'SON',
2439-
label: informantMessageDescriptors.son
2443+
label: informantMessageDescriptors.SON
24402444
},
24412445
{
24422446
value: 'DAUGHTER',
2443-
label: informantMessageDescriptors.daughter
2447+
label: informantMessageDescriptors.DAUGHTER
24442448
},
24452449
{
24462450
value: 'SON_IN_LAW',
2447-
label: informantMessageDescriptors.sonInLaw
2451+
label: informantMessageDescriptors.SON_IN_LAW
24482452
},
24492453
{
24502454
value: 'DAUGHTER_IN_LAW',
2451-
label: informantMessageDescriptors.daughterInLaw
2455+
label: informantMessageDescriptors.DAUGHTER_IN_LAW
24522456
},
24532457
{
24542458
value: 'MOTHER',
2455-
label: informantMessageDescriptors.mother
2459+
label: informantMessageDescriptors.MOTHER
24562460
},
24572461
{
24582462
value: 'FATHER',
2459-
label: informantMessageDescriptors.father
2463+
label: informantMessageDescriptors.FATHER
24602464
},
24612465
{
24622466
value: 'GRANDSON',
2463-
label: informantMessageDescriptors.grandson
2467+
label: informantMessageDescriptors.GRANDSON
24642468
},
24652469
{
24662470
value: 'GRANDDAUGHTER',
2467-
label: informantMessageDescriptors.granddaughter
2471+
label: informantMessageDescriptors.GRANDDAUGHTER
24682472
},
24692473
{
24702474
value: 'OTHER',
@@ -2554,43 +2558,43 @@ export const registerForms: IDefaultRegisterForms = {
25542558
options: [
25552559
{
25562560
value: 'SPOUSE',
2557-
label: informantMessageDescriptors.spouse
2561+
label: informantMessageDescriptors.SPOUSE
25582562
},
25592563
{
25602564
value: 'SON',
2561-
label: informantMessageDescriptors.son
2565+
label: informantMessageDescriptors.SON
25622566
},
25632567
{
25642568
value: 'DAUGHTER',
2565-
label: informantMessageDescriptors.daughter
2569+
label: informantMessageDescriptors.DAUGHTER
25662570
},
25672571
{
25682572
value: 'SON_IN_LAW',
2569-
label: informantMessageDescriptors.sonInLaw
2573+
label: informantMessageDescriptors.SON_IN_LAW
25702574
},
25712575
{
25722576
value: 'DAUGHTER_IN_LAW',
2573-
label: informantMessageDescriptors.daughterInLaw
2577+
label: informantMessageDescriptors.DAUGHTER_IN_LAW
25742578
},
25752579
{
25762580
value: 'MOTHER',
2577-
label: informantMessageDescriptors.mother
2581+
label: informantMessageDescriptors.MOTHER
25782582
},
25792583
{
25802584
value: 'FATHER',
2581-
label: informantMessageDescriptors.father
2585+
label: informantMessageDescriptors.FATHER
25822586
},
25832587
{
25842588
value: 'GRANDSON',
2585-
label: informantMessageDescriptors.grandson
2589+
label: informantMessageDescriptors.GRANDSON
25862590
},
25872591
{
25882592
value: 'GRANDDAUGHTER',
2589-
label: informantMessageDescriptors.granddaughter
2593+
label: informantMessageDescriptors.GRANDDAUGHTER
25902594
},
25912595
{
25922596
value: 'OTHER',
2593-
label: formMessageDescriptors.someoneElse
2597+
label: informantMessageDescriptors.OTHER
25942598
}
25952599
],
25962600
nestedFields: {
@@ -2975,6 +2979,10 @@ export const registerForms: IDefaultRegisterForms = {
29752979
fieldName: 'registrationNumber',
29762980
operation: 'registrationNumberTransformer'
29772981
},
2982+
{
2983+
fieldName: 'informantType',
2984+
operation: 'informantTypeTransformer'
2985+
},
29782986
{
29792987
fieldName: 'certificateDate',
29802988
operation: 'certificateDateTransformer',

packages/client/src/forms/register/fieldMappings/birth/query/registration-mappings.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
import { callingCountries } from 'country-data'
3030
import { cloneDeep, get } from 'lodash'
3131
import { MessageDescriptor } from 'react-intl'
32+
import { messages as informantMessageDescriptors } from '@client/i18n/messages/views/selectInformant'
3233
import { PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber'
3334

3435
export function transformStatusData(
@@ -109,6 +110,22 @@ export function getBirthRegistrationSectionTransformer(
109110
}
110111
}
111112

113+
export function informantTypeTransformer(
114+
transformedData: IFormData,
115+
queryData: any,
116+
sectionId: string,
117+
targetSectionId?: string,
118+
targetFieldName?: string
119+
) {
120+
transformedData[targetSectionId || sectionId][
121+
targetFieldName || 'informantType'
122+
] = queryData[sectionId].informantType
123+
? (informantMessageDescriptors[
124+
queryData[sectionId].informantType
125+
] as MessageDescriptor & Record<string, string>)
126+
: ''
127+
}
128+
112129
export function registrationNumberTransformer(
113130
transformedData: IFormData,
114131
queryData: any,

0 commit comments

Comments
 (0)