aboutsummaryrefslogtreecommitdiff
path: root/routers/user/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/user/user.go')
-rw-r--r--routers/user/user.go18
1 files changed, 14 insertions, 4 deletions
diff --git a/routers/user/user.go b/routers/user/user.go
index 7a58ba57..5017e878 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -151,8 +151,18 @@ func Delete(data base.TmplData, req *http.Request, session sessions.Session, r r
id := auth.SignedInId(session)
u := &models.User{Id: id}
- err := models.DeleteUser(u)
- data["ErrorMsg"] = err
- log.Error("user.Delete: %v", data)
- r.HTML(200, "base/error", nil)
+ if err := models.DeleteUser(u); err != nil {
+ data["HasError"] = true
+ switch err.Error() {
+ case models.ErrUserOwnRepos.Error():
+ data["ErrorMsg"] = "Your account still have ownership of repository, you have to delete or transfer them first."
+ default:
+ data["ErrorMsg"] = err
+ log.Error("user.Delete: %v", data)
+ r.HTML(200, "base/error", nil)
+ return
+ }
+ }
+
+ r.HTML(200, "user/delete", data)
}