[MICROBA-309]
- Adjust error handling in getDemographics() call to do a POST to create the entity only when encountering a 404 on a GET
- Fix issue that can cause the Accounts page to error out if the Demographics service wasn't running. Add check for `demographics_user_ethnicity` prop existence before attempting to access the value
We were having issues with how the coaching consent form was sending
data. Previously, we were hitting 2 endpoints - one from the coaching
plugin, and one from the LMS. This changes fixes a few issues:
* CoachingConsent now hits one api that handles saving the phone_number,
full_name, and coaching_consent.
* This component does not need to share any of this data, so it is not
connected to Redux. Everything to do with patching is done in the
CoachingConsent component.
* Fetching data is still done through actions provided by redux.
* This change does not effect the fields in the root account settings
page
* Add tests for coaching consent form
Fixed padding on 'next' button and collapsed camera help text
Added functionality to submit button
Styling edit to differentiate cards
Removed todo comments
Replaced hardcoded text with i18n components
Added title to confirmation button for a/b testing purposes
Redirect the user to the beginning of the process on reload to avoid losing camera access, also removed unused code
Update src/id-verification/IdVerificationContext.jsx, make children prop required
Co-authored-by: Kyle McCormick <kmccormick@edx.org>
Remove todo comment in ImageFileUpload.jsx
Added comment to service.js and removed unused code from index.js
Fix 404 page from displaying when it shouldn't
Was displaying below the settings page itself
Add panels for each step of the verification flow
Add IdVerificationContext
Add BasePanel
Revert "Add BasePanel"
This reverts commit 2ddca14b4b8b35cd23f0525f49070753c09d361d.
Add BasePanel
Focus heading elements on mount
Add current account name to GetNameIdPanel
Fix nested button focus problem
Add a friendly camera permission request
Remove double ctas
lint
Add initial service.js file; not tested
Add image file uploads
fix temp heading of photo context panel
Add photo id name input
Add redirect logic for users who find themselves too far in the flow
add wip SubmittedPanel
Wire up Submit button
Update routing-utilities.js
Preview image on summarypenl; still buggy
Add some content and styles
update first panel content
Update headings
Use ImagePreview component on SummaryPanel
Fix service.js; it works now
More content and fix for name input
ImagePreview: Change 'name' to 'alt'
Add content to camera request
Fix ImagePreview alt text
Iterating on SummaryPage
Add privacy info modal
Update name entry
Make the footer sticky to the bottom
Update upload photo screens
Add photo to name panel
camera component
overlay camera button
implement camera component
remove camera tracking
Add retake photo buttons
Add service for verification status endpoint
delete old css
lint fix
Better name edit state
portrait photo page
Add edit name from summary
Add content to submitted screen
lint
Rename status service function
Add clarity to summary view text
First pass at gating based on existing idv
Clean up IDv-status-gating screens
finish up webcam/photo pages
remove unused tracking library
* MB-366 don't save non eligible coaching number
This fixes a few little bugs in the system as well as the one listed in
the ticket.
* We no longer make an extra API call to user profile when toggling
coaching
* The user now must toggle coaching off to save a non-eligible phone
number
* If the user changes to another US based phone number, or is not
consented to coaching, the phone number will save as normal.
* Fix weird code
Recently we have changed rate limiting configuration for password reset
endpoint to one request per email and IP. I have added the frontend
functionality to show proper error message to users.
PROD-1427
Originally, we had it set up so that the coaching consent form saved 33
values in parallel. This add a new saga (saveMultipleSettings) to save
those 3 values in sync. This way, if one fails, the rest of the calls
fail.
Something to watch out for here: the order matters. The array that you
give the save function must be ordered in the way you need the data
saved.