From 8894f856de70c5c4080f39f05ff0283971faf856 Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Sat, 25 Feb 2017 21:39:52 +0800
Subject: [PATCH] fix 500 when change user setting email to an exist email
 (#1039)

---
 routers/user/setting.go | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/routers/user/setting.go b/routers/user/setting.go
index de5a1baca..16ba2bb05 100644
--- a/routers/user/setting.go
+++ b/routers/user/setting.go
@@ -105,6 +105,11 @@ func SettingsPost(ctx *context.Context, form auth.UpdateProfileForm) {
 	ctx.User.Website = form.Website
 	ctx.User.Location = form.Location
 	if err := models.UpdateUser(ctx.User); err != nil {
+		if _, ok := err.(models.ErrEmailAlreadyUsed); ok {
+			ctx.Flash.Error(ctx.Tr("form.email_been_used"))
+			ctx.Redirect(setting.AppSubURL + "/user/settings")
+			return
+		}
 		ctx.Handle(500, "UpdateUser", err)
 		return
 	}