Address some code review feedback
Correct error code in test
Don't try to send emails to empty addresses
Add tests for subscriptions
Add tests for Next Steps email
Fix specs
Add reason for disabled test
Fix link to /teachers/classes (fixes bugquest#20)
Fix edit button color/icon (bugquest#23)
Fix bugquest#34
Fix password input width (bugquest#33)
Center new pasword text
Fix teacher password reset endpoint (bugquest#4)
Refactor+use NewHomeView logic for user page button (Fixes bugquest#2)
Refactor teacher-password-reset endpoint
This makes it much easier to prevent collisions with other logic when PUTing new User attributes.
Add regression test for converting to teacher account
Fix email verified links, require login (fix bugquest#16)
Fix me having stale emailVerified value (Fixes bugquest#40)
Don't show JoinClassModal to students
Add paragraph to JoinClassModal (fixes bugquest#14)
Update change-password label text (fixes bugquest#30)
Fix prompting for login on Account Settings page (bugquest #10)
Show validation errors for teacher password reset (bugquest#36)
Show yellow progress dot in My Classes if anyone has started (bugquest#55)
Remove confusing text (bugquest#100)
This adds the ability to verify email addresses of a user, so we know they have access to the email address on their account.
Until a user has verified their email address, any teacher of a class they're in can reset their password for them via the Teacher Dashboard. When a user's email address is verified, a teacher may trigger a password recovery email to be sent to the student.
Verification links are valid forever, until the user changes the email address they have on file. They are created using a timestamp, with a sha256 of timestamp+salt+userID+email. Currently the hash value is rather long, could be shorter.
Squashed commit messages:
Add server endpoints for verifying email address
Add server endpoints for verifying email address (pt 2)
Add Server+Client endpoint for sending verification email
Add client view for verification links
Add Edit Student Modal for resetting passwords
Add specs for EditStudentModal
Tweak method name in EditStudentModal
Add edit student button to TeacherClassView
Fix up frontend for teacher password resetting
Add middleware for teacher password resetting
Improve button UX in EditStudentModal
Add JoinClassModal
Add welcome emails, use broad name
Use email without domain as fallback instead of full email
Fetch user on edit student modal open
Don't allow password reset if student email is verified
Set role to student on user signup with classCode
Tweak interface for joinClassModal
Add button to request verification email for yourself
Fix verify email template ID
Move text to en.coffee
Minor tweaks
Fix code review comments
Fix some tests, disable a broken one
Fix misc tests
Fix more tests
Refactor recovery email sending to auth
Fix overbroad sass
Add options to refactored recovery email function
Rename getByCode to fetchByCode
Fix error message
Fix up error handling in users middleware
Use .get instead of .toObject
Use findById
Fix more code review comments
Disable still-broken test
In the code before, onInputChanged function was called manually, but the parameter was not passed. I think it's better to trigger the event, than calling the callback function of the event.
The onInputChanged callback is using the event parameter to get the target DOM element. On #L72 the callback function was called manually, but no parameter was passed. I pass in an object that has a target attribute, so it can get the DOM element.