From 6b3e47b10364e5aa942b42b9a4b35c16bcdf2e6a Mon Sep 17 00:00:00 2001
From: Martin Hartkorn <github@hartkorn.net>
Date: Wed, 10 Feb 2016 21:35:58 +0100
Subject: [PATCH] Removed HTTP 500 error on the release page when a user
 deleted their account

---
 routers/repo/release.go | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/routers/repo/release.go b/routers/repo/release.go
index 880385708f74..8baa317e0cbe 100644
--- a/routers/repo/release.go
+++ b/routers/repo/release.go
@@ -45,8 +45,12 @@ func Releases(ctx *middleware.Context) {
 			if rel.TagName == rawTag {
 				rel.Publisher, err = models.GetUserByID(rel.PublisherID)
 				if err != nil {
-					ctx.Handle(500, "GetUserByID", err)
-					return
+					if models.IsErrUserNotExist(err) {
+						rel.Publisher = models.NewFakeUser()
+					} else {
+						ctx.Handle(500, "GetUserByID", err)
+						return
+					}
 				}
 				// FIXME: duplicated code.
 				// Get corresponding target if it's not the current branch.
@@ -105,8 +109,12 @@ func Releases(ctx *middleware.Context) {
 
 		rel.Publisher, err = models.GetUserByID(rel.PublisherID)
 		if err != nil {
-			ctx.Handle(500, "GetUserByID", err)
-			return
+			if models.IsErrUserNotExist(err) {
+				rel.Publisher = models.NewFakeUser()
+			} else {
+				ctx.Handle(500, "GetUserByID", err)
+				return
+			}
 		}
 		// FIXME: duplicated code.
 		// Get corresponding target if it's not the current branch.