From a6cdda115d6fecabea9406c3dd630087be49f437 Mon Sep 17 00:00:00 2001
From: Lanre Adelowo <adelowomailbox@gmail.com>
Date: Sun, 19 Aug 2018 19:49:19 +0100
Subject: [PATCH] Display error when adding a user to a team twice (#4746)

---
 options/locale/locale_en-US.ini | 1 +
 routers/org/teams.go            | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 6338bff042..82925e9c0f 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -1312,6 +1312,7 @@ teams.search_repo_placeholder = Search repository…
 teams.add_team_repository = Add Team Repository
 teams.remove_repo = Remove
 teams.add_nonexistent_repo = "The repository you're trying to add does not exist; please create it first."
+teams.add_duplicate_users = User is already a team member.
 
 [admin]
 dashboard = Dashboard
diff --git a/routers/org/teams.go b/routers/org/teams.go
index 87bfb8596a..da6d81938a 100644
--- a/routers/org/teams.go
+++ b/routers/org/teams.go
@@ -96,7 +96,12 @@ func TeamsAction(ctx *context.Context) {
 			return
 		}
 
-		err = ctx.Org.Team.AddMember(u.ID)
+		if ctx.Org.Team.IsMember(u.ID) {
+			ctx.Flash.Error(ctx.Tr("org.teams.add_duplicate_users"))
+		} else {
+			err = ctx.Org.Team.AddMember(u.ID)
+		}
+
 		page = "team"
 	}