From fdda090ca231af8faf5e3cbfb4c1b4af86120590 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Wed, 17 Aug 2016 07:18:11 -0800 Subject: [PATCH] PLT-3822 after admin leaves team he cannot get admin access anymore (#3814) --- api/team.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/api/team.go b/api/team.go index 20a0671da9..7f84f8263a 100644 --- a/api/team.go +++ b/api/team.go @@ -261,10 +261,6 @@ func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError { tm := &model.TeamMember{TeamId: team.Id, UserId: user.Id} channelRole := "" - if team.Email == user.Email { - tm.Roles = model.ROLE_TEAM_ADMIN - channelRole = model.CHANNEL_ROLE_ADMIN - } if etmr := <-Srv.Store.Team().GetMember(team.Id, user.Id); etmr.Err == nil { // Membership alredy exists. Check if deleted and and update, otherwise do nothing @@ -279,6 +275,11 @@ func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError { return tmr.Err } } else { + if team.Email == user.Email { + tm.Roles = model.ROLE_TEAM_ADMIN + channelRole = model.CHANNEL_ROLE_ADMIN + } + // Membership appears to be missing. Lets try to add. if tmr := <-Srv.Store.Team().SaveMember(tm); tmr.Err != nil { return tmr.Err