* refactor: worked on modal paragon depreciation component and changed them into latest paragon modals
* refactor: migrate off modal paragon depreciation components
* fix: fix eslint and commit message
* fix: units tests were not working, its fixed
* test: add unit tests in modal
* test: add unit tests in id verfication modal
* refactor: convert test cases from enzyme to react testing library
* refactor: remove empty file
* refactor: removed deprecated paragon components from CoachingToggle and used alternatives
* refactor: removed deprecated paragon components from ConfirmationModal and used alternatives
* refactor: removed deprecations from EditableField and created separate component for SelectField
* refactor: updated DemographicsSection to use new select component
* refactor: removed deprecations from EmailField and used alternatives
* refactor: removed deprecated Input from CoachingConsentForm
* refactor: removed deprecated Input from DemographicsSection
* refactor: removed deprecated Input from SummaryPanel component
* refactor: removed deprecated CheckBox and used Form.CheckBox
* refactor: fixed unit tests
* refactor: changes based on PR reviews
* fix: linting issue
The VERIFIED_NAME_FLAG was added as part https://github.com/edx/edx-name-affirmation/pull/12, [MST-801](https://openedx.atlassian.net/browse/MST-801) in order to control the release of the Verified Name project. It was used for a phased roll out by percentage of users.
The release reached a percentage of 50% before it was observed that, due to the way percentage roll out works in django-waffle, the code to create or update VerifiedName records was not working properly. The code was written such that any change to a SoftwareSecurePhotoVerification model instance sent a signal, which was received and handled by the Name Affirmation application. If the VERIFIED_NAME_FLAG was on for the requesting user, a Celery task was launched from the Name Affirmation application to perform the creation of or update to the appropriate VerifiedName model instances based on the verify_student application signal. However, we observed that when SoftwareSecurePhotoVerification records were moved into the "created" or "ready" status, a Celery task in Name Affirmation was created, but when SoftwareSecurePhotoVerification records were moved into the "submitted" status, the corresponding Celery task in Name Affirmation was not created. This caused VerifiedName records to stay in the "pending" state.
The django-waffle waffle flag used by the edx-toggle library implements percentage rollout by setting a cookie in a learner's browser session to assign them to the enabled or disabled group.
It turns out that the code that submits a SoftwareSecurePhotoVerification record, which moves it into the "submitted" state, happens as part of a Celery task in the verify_student application in the edx-platform. Therefore, we believe that because there is no request object in a Celery task, the edx-toggle code is defaulting to the case where there is no request object. In this case, the code checks whether the flag is enabled for everyone when determining whether the flag is enabled. Because of the percentage rollout (i.e. waffle flag not enabled for everyone), the Celery task in Name Affirmation is not created. This behavior was confirmed by logging added as part of https://github.com/edx/edx-name-affirmation/pull/62.
We have determined that we do not need the waffle flag, as we are comfortable that enabling the waffle flag for everyone will fix the issue and are comfortable releasing the feature to all users. For this reason, we are removing references to the flag.
[MST-1130](https://openedx.atlassian.net/browse/MST-1130)
If COPPA compliance feature flag is enabled, remove the `primary/elementary` option
from the level of education dropdown field on edit but keep the value showing for
the users who have already selected it.
VAN-762