Don't require the invite email to match the invited user
This commit is contained in:
parent
4a2a4d1b4c
commit
fa1abd5eda
1 changed files with 8 additions and 13 deletions
|
@ -1921,25 +1921,19 @@ def confirm_email_authorization_for_repo(code):
|
|||
def lookup_team_invites(user):
|
||||
return TeamMemberInvite.select().where(TeamMemberInvite.user == user)
|
||||
|
||||
def lookup_team_invite(code, user):
|
||||
def lookup_team_invite(code, user=None):
|
||||
# Lookup the invite code.
|
||||
try:
|
||||
found = TeamMemberInvite.get(TeamMemberInvite.invite_token == code)
|
||||
except TeamMemberInvite.DoesNotExist:
|
||||
raise DataModelException('Invalid confirmation code.')
|
||||
|
||||
# Verify the code applies to the current user.
|
||||
if found.user:
|
||||
if found.user != user:
|
||||
raise DataModelException('Invalid confirmation code.')
|
||||
else:
|
||||
if found.email != user.email:
|
||||
raise DataModelException('Invalid confirmation code.')
|
||||
|
||||
if user and found.user != user:
|
||||
raise DataModelException('Invalid confirmation code.')
|
||||
|
||||
return found
|
||||
|
||||
|
||||
def delete_team_invite(code, user):
|
||||
def delete_team_invite(code, user=None):
|
||||
found = lookup_team_invite(code, user)
|
||||
|
||||
team = found.team
|
||||
|
@ -1949,8 +1943,9 @@ def delete_team_invite(code, user):
|
|||
|
||||
return (team, inviter)
|
||||
|
||||
|
||||
def confirm_team_invite(code, user):
|
||||
found = lookup_team_invite(code, user)
|
||||
found = lookup_team_invite(code)
|
||||
|
||||
# Add the user to the team.
|
||||
try:
|
||||
|
@ -1958,7 +1953,7 @@ def confirm_team_invite(code, user):
|
|||
except UserAlreadyInTeam:
|
||||
# Ignore.
|
||||
pass
|
||||
|
||||
|
||||
# Delete the invite and return the team.
|
||||
team = found.team
|
||||
inviter = found.inviter
|
||||
|
|
Reference in a new issue