@ -552,6 +552,7 @@ func TeamInvite(ctx *context.Context) {
ctx . Data [ "Organization" ] = org
ctx . Data [ "Organization" ] = org
ctx . Data [ "Team" ] = team
ctx . Data [ "Team" ] = team
ctx . Data [ "Inviter" ] = inviter
ctx . Data [ "Inviter" ] = inviter
ctx . Data [ "EmailMismatch" ] = ctx . Doer . Email != invite . Email
ctx . HTML ( http . StatusOK , tplTeamInvite )
ctx . HTML ( http . StatusOK , tplTeamInvite )
}
}
@ -568,6 +569,13 @@ func TeamInvitePost(ctx *context.Context) {
return
return
}
}
// check that the Doer is the invitee
if ctx . Doer . Email != invite . Email {
log . Info ( "invite %d does not apply to the current user %d" , invite . ID , ctx . Doer . ID )
ctx . NotFound ( "ErrTeamInviteNotFound" , err )
return
}
if err := models . AddTeamMember ( team , ctx . Doer . ID ) ; err != nil {
if err := models . AddTeamMember ( team , ctx . Doer . ID ) ; err != nil {
ctx . ServerError ( "AddTeamMember" , err )
ctx . ServerError ( "AddTeamMember" , err )
return
return