VERIFICATION_FAILED= <VerificationResult: u'Failed'>¶
Signal that verifying an email address failed.
VERIFICATION_REDUNDANT= <VerificationResult: u'Redundant'>¶
Signal that verifying an email address was redundant.
VERIFICATION_STYMIED= <VerificationResult: u'Stymied'>¶
Signal that an email address is already verified for a different
VERIFICATION_SUCCEEDED= <VerificationResult: u'Succeeded'>¶
Signal that email verification succeeded.
Participants may associate email addresses with their account.
Email addresses are stored in an
emailstable in the database, which holds the addresses themselves as well as info related to address verification. While a participant may have multiple email addresses on file, verified or not, only one will be the primary email address: the one also recorded in
participants.email_address. It’s a bug for the primary address not to be verified, or for an address to be in
participants.email_addressbut not also in
Having a verified email is a prerequisite for certain other features on Gratipay, such as linking a PayPal account, or filing a national identity.
Add an email address for a participant.
This is called when adding a new email address, and when resending the verification email for an unverified email address.
- EmailAlreadyVerified – if the email is already verified for this participant (unless they’re claiming packages)
- EmailTaken – if the email is verified for a different participant
- EmailNotOnFile – if the email address is not on file for any of the packages
- TooManyEmailAddresses – if the participant already has 10 emails
- Throttled – if the participant adds too many emails too quickly
validate_email_verification_request(c, email, *packages)¶
Given a cursor, email, and packages, return
Get a link to complete an email verification workflow.
a URL by which to complete the verification process
Given a cursor and email address, return a verification nonce.
Set the primary email address for the participant.
Given an email address and a nonce as strings, return a three-tuple:
- a list of packages if
- a boolean indicating whether the participant’s PayPal address was
updated if applicable (
Given an email address, modify the database.
This is where we actually mark the email address as verified. Additionally, we clear out any competing claims to the same address.
get_email(address, cursor=None, and_lock=False)¶
Return a record for a single email address on file for this participant.
- address (unicode) – the email address for which to get a record
- cursor (Cursor) – a database cursor; if
None, we’ll use
- and_lock – if True, we will acquire a write-lock on the email record before returning
a database record (a named tuple)
Return a list of all email addresses on file for this participant.
Return a list of verified email addresses on file for this participant.
Remove the given email address from the participant’s account. Raises
CannotRemovePrimaryEmailif the address is primary. It’s a noop if the email address is not on file.
Given a language identifier, set it for the participant as their preferred language in which to receive email.