We check the terms acceptation in the **splash screen** while the application is initializing, if there is no consent (first connection), or the consent is outdated (update of terms), the user will be redirected to the terms acceptation page.
For the full terms acceptation process, the user has to check the two checkboxes (one for Data share consent, and one for CGU and Legal Notice) to unlock the terms acceptation button. Once he has accepted it, a new term doctype is created with the value *accepted* to true. So he can access now the entire application.
We store in user's profile a boolean *showConsentModal* that allows the app to know about the consent status.
If the user is not subscribed to the newsletter, a third facultative checkbox is displayed. If the user checks it, he will be subscribed to the newsletter.
@@ -86,12 +86,10 @@ This doctype is used to store all information about the user.
| isFirstConnection | boolean | Boolean used to inform if the user connects for the first time |
| lastConnectionDate | DateTime | Date of the last user connection |
| haveSeenLastAnalysis | boolean | Boolean used to inform if user has seen the last analysis |
| haveSeenOldFluidModal | Datetime or boolean | Used to inform if user has seen the modal display when his data are too old. Its value is false or a DateTime when he saw it |
| sendAnalysisNotification | boolean | Boolean used to inform if user has seen the analysis notification |
| monthlyAnalysisDate | DateTime | Date of the last monthly analysis |
| profileType | ProfileType | User consumption profile |
| isProfileTypeCompleted | boolean | Check if a user has completed his consumption profile |
| showConsentModal | boolean | Boolean used to show the terms acceptation page, and to protect the app private routes if last terms are not accepted or outdated |
**Example:**
...
...
@@ -102,7 +100,6 @@ This doctype is used to store all information about the user.