As a user I want to be able to check and update my profile information, so as the system has my information up to date.
Acceptance criteria:
Upon successful sign in, a 'Profile' option/menu item is offered to the user.
Whenever the user clicks on the 'Profile' option/menu item, the user is redirected to a view where the information associated to the user can be visualized and updated (see #10 for info provided by the user during sign up). NOTE: username will be read-only.
In addition, the user should be able to provide/update the following information, from the profile view:
Profile picture (upload to CDN and store link to it? Size limit?)
Preferences section:
Search for service suppliers on my home city when I'm signed in
(checkbox - default during sign up --> Yes - this impacts story #2 and #3, and possibly #4)
I am willing to provide feedback to other user's about the service suppliers I had experience with
(checkbox - default during sign up --> Yes - this impacts story #32)
If user sets one of the editable fields (e.g.: textbox for email address / password, drop downs - city -, etc) to blank, then the system should prevent the update, and display an error message to the user, highlighting the fields that were not completed.
After submission of the form, the system should update the db with the information entered by the user.
If the user updates the password, an email notification should be sent to the user stating that the password was updated. The new password will apply upon next sign in attempt.
NOTE: if we allow the user updating the email address, what should we do?
Example:
If user updated the email address, the system should display a message (with yes and no options to continue) stating that the changes will affect the data to be provided during sign in (see #11), and providing instructions on what will happen / how to proceed on next login.
Question: Do we just discard the old email address for sign in next time?
Or send a validation email first, just like done during sign up (see #10), and wait for the user to validate it, in order to accept it to be used during sign in (maintaining the old one until the new one is validated)?
How changing the email will affect existing records for the user?
Maybe nothing if we use the user Id / user name (rather than email) to associate events to the user.
Depending on what we decide for email updates, what do we do if user updates both, the email, and password?
As a user I want to be able to check and update my profile information, so as the system has my information up to date.
Acceptance criteria:
Example: