PatronSelfRegistrationEmailMustBeUnique causes unexpected behavior on the patron self modification screen ("your personal details") in the OPAC. When enabled, the system preference blocks existing accounts from submitting account modification requests if the primary email associated with the account is also associated with another account in the database. This means if a parent account and a child account both use the same email address, neither can submit account modification requests via the OPAC. This system preference should only affect new self registered accounts. To reproduce this behavior: 1. Set PatronSelfRegistrationEmailMustBeUnique to 'Consider' 2. Create two different accounts with the same primary email address 3. Log into the OPAC with either account 4. Visit "your personal details" 5. Make a change unrelated to email address and submit 6. The submission is blocked with a message about duplicate email addresses
Can confirm that this is an issue.
It's clear from bug 16275 that this check was only meant to apply to self-registration, not self-modification. We should make this system preference only impact self-registration.
Created attachment 180306 [details] [review] Bug 22458: Don't check for duplicate email on borrower self modification This patch adds an extra variable to internal function CheckValidBorrower to set the context as 'create' or 'update' To test: 1 - Enable PatronSelfRegistrationEmailMustBeUnique 2 - Edit a patron in staff interface and set email to 'a@example.org' 3 - Open an incognito window and go to opac 4 - Self register a patron using email a@example.org 5 - You receive an error 6 - Use b@example.org for email 7 - No problem 8 - Sign in as the new patron 9 - Edit your information 10 - Set email to a@example.org 11 - You receive an error 12 - Apply patch, restart all 13 - Edit patron again 14 - No error! 15 - Register another patron on the opac 16 - Confirm still wanred if using a@example.org as the email
Created attachment 180424 [details] [review] Bug 22458: Don't check for duplicate email on borrower self modification This patch adds an extra variable to internal function CheckValidBorrower to set the context as 'create' or 'update' To test: 1 - Enable PatronSelfRegistrationEmailMustBeUnique 2 - Edit a patron in staff interface and set email to 'a@example.org' 3 - Open an incognito window and go to opac 4 - Self register a patron using email a@example.org 5 - You receive an error 6 - Use b@example.org for email 7 - No problem 8 - Sign in as the new patron 9 - Edit your information 10 - Set email to a@example.org 11 - You receive an error 12 - Apply patch, restart all 13 - Edit patron again 14 - No error! 15 - Register another patron on the opac 16 - Confirm still wanred if using a@example.org as the email Signed-off-by: Guillen, Allax <AGuillen@roseville.ca.us>
Created attachment 180443 [details] [review] Bug 22458: Don't check for duplicate email on borrower self modification This patch adds an extra variable to internal function CheckValidBorrower to set the context as 'create' or 'update' To test: 1 - Enable PatronSelfRegistrationEmailMustBeUnique 2 - Edit a patron in staff interface and set email to 'a@example.org' 3 - Open an incognito window and go to opac 4 - Self register a patron using email a@example.org 5 - You receive an error 6 - Use b@example.org for email 7 - No problem 8 - Sign in as the new patron 9 - Edit your information 10 - Set email to a@example.org 11 - You receive an error 12 - Apply patch, restart all 13 - Edit patron again 14 - No error! 15 - Register another patron on the opac 16 - Confirm still wanred if using a@example.org as the email Signed-off-by: Guillen, Allax <AGuillen@roseville.ca.us>
Created attachment 180444 [details] [review] Bug 22458: Don't check for duplicate email on borrower self modification This patch adds an extra variable to internal function CheckValidBorrower to set the context as 'create' or 'update' To test: 1 - Enable PatronSelfRegistrationEmailMustBeUnique 2 - Edit a patron in staff interface and set email to 'a@example.org' 3 - Open an incognito window and go to opac 4 - Self register a patron using email a@example.org 5 - You receive an error 6 - Use b@example.org for email 7 - No problem 8 - Sign in as the new patron 9 - Edit your information 10 - Set email to a@example.org 11 - You receive an error 12 - Apply patch, restart all 13 - Edit patron again 14 - No error! 15 - Register another patron on the opac 16 - Confirm still wanred if using a@example.org as the email Signed-off-by: Guillen, Allax <AGuillen@roseville.ca.us> Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Pushed for 25.05! Well done everyone, thank you!