Citizen consent form

Objective

This feature is to get a consent from the citizen during the citizen login. This is needed only in the citizen / architect side of the login.

This feature is present in Citizen login page and where user is allowed to make payment without login.

 

Enabling the feature:

Using the mdms, we are enabling and disabling the feature by isCitizenConsentFormEnabled: true or false in mdms file i.e https://github.com/egovernments/egov-mdms-data/blob/QA/data/pb/common-masters/CitizenConsentForm.json

If we set to true, that means we are enabling the feature. If we set to false we are disabling the feature (Old logic will work as it is)

Citizen Login page:
first step, we need to enable the feature in mdms and add the check box labels by checkBoxLabels in mdms file https://github.com/egovernments/egov-mdms-data/blob/QA/data/pb/common-masters/CitizenConsentForm.json

File Path: https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectMobileNumber.js
Component: CitizenConsentForm (File path: https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/CitizenConsentForm.js )

Then it will show like below:

we need to enter mobile number and check box, then only NEXT button will enable and user able to login.

User is allowed to make payment without login:

first step, we need to enable the feature in mdms and add the check box labels by checkBoxLabels in mdms file https://github.com/egovernments/egov-mdms-data/blob/QA/data/pb/common-masters/CitizenConsentForm.json

File Path: https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/payers-details/index.js
Component: CitizenConsentForm (File path: https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/CitizenConsentForm.js )

Then it will show like below:

Enter mandatory fields and click on check box , then only NEXT button will enable for proceeding the next step.

Privacy Policy:

When we click on Privacy Policy, popup will open and it displayed the content.




Steps to Configure the Consent form data:

First step, write the documentation then convert into html (we have many converted tools are there in online like https://wordtohtml.net/ ). Use this for converting document to html, before converting just format the document using the above link.

After converting to html, please share the html file with devops team with the bucket name, they will provide the s3 link for html file, Take that link and update in mdms file where we configured before https://github.com/egovernments/egov-mdms-data/blob/QA/data/pb/common-masters/CitizenConsentForm.json . For each instance, we need to create separate s3 link.

Here, use the language as key and param as url

Ex: for English, the language key is en_IN and value is https://qa.digit.org/egov-qa-assets/ProductPrivacypolicy.html

MDMS file: https://github.com/egovernments/egov-mdms-data/blob/QA/data/pb/common-masters/CitizenConsentForm.json

{
"tenantId": "pb",
"moduleName": "common-masters",
"CitizenConsentForm": [
{
"isCitizenConsentFormEnabled": true,
"checkBoxLabels": [
{
"linkPrefix": "CCF_I_AGREE_THE_DIGITS",
"link": "CCF_PRIVACY_POLICY",
"linkId": "PrivacyPolicy",
"linkPostfix": "",
"en_IN": "https://qa.digit.org/egov-qa-assets/ProductPrivacypolicy.html"
}
]
}
]
}

Here,
1. isCitizenConsentFormEnabled is used to enabling the citizen consent form.
2. checkBoxLabels is used to display label along with the link.
3. link is used to display the link.
4. linkId is used to pass the id to the header for display the header dynamically.
5. en_IN is the language code and also used to display the content using the s3 link.
6. linkPrefix is used to display the link pre content.
7. linkPostfix is used to display the link post content.
8. CitizenConsentForm is the mdms config.

 

Citizen Consent Form Old UI Login:

MDMS: Same file is used in OLD UI also i.e ( https://github.com/egovernments/egov-mdms-data/blob/QA/data/pb/common-masters/CitizenConsentForm.json )
File Path: Added one more object in the login form config. (https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/mono-ui/web/rainmaker/packages/citizen/src/config/forms/specs/login.js )
Logic of Citizen Consent Form is in the below files.

  1. https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/mono-ui/web/rainmaker/packages/citizen/src/modules/citizen/User/Login/components/LoginForm/index.js

  2. https://github.com/egovernments/DIGIT-Dev/blob/develop/frontend/mono-ui/web/rainmaker/packages/citizen/src/modules/citizen/User/Login/index.js



Localisation :

Localisation keys are added under the ‘rainmaker-common’ locale module.