From 3daba4304dba818d54eb9b74d8d35df5aab8fee5 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 22 Nov 2013 10:36:05 -0500
Subject: [PATCH] Add pull request linking in changelog to generated documentation

---
 src/main/java/com/gitblit/wicket/pages/ForksPage.java |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/ForksPage.java b/src/main/java/com/gitblit/wicket/pages/ForksPage.java
index cc48387..5b5fcc0 100644
--- a/src/main/java/com/gitblit/wicket/pages/ForksPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/ForksPage.java
@@ -42,22 +42,27 @@
 
 	public ForksPage(PageParameters params) {
 		super(params);
-		
+
 		final RepositoryModel pageRepository = getRepositoryModel();
-		
+
 		ForkModel root = GitBlit.self().getForkNetwork(pageRepository.name);
 		List<FlatFork> network = flatten(root);
-		
+
 		ListDataProvider<FlatFork> forksDp = new ListDataProvider<FlatFork>(network);
 		DataView<FlatFork> forksList = new DataView<FlatFork>("fork", forksDp) {
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			public void populateItem(final Item<FlatFork> item) {
 				FlatFork fork = item.getModelObject();
 				RepositoryModel repository = fork.repository;
-				
+
 				if (repository.isPersonalRepository()) {
 					UserModel user = GitBlit.self().getUserModel(repository.projectPath.substring(1));
+					if (user == null) {
+						// user account no longer exists
+						user = new UserModel(repository.projectPath.substring(1));
+					}
 					PersonIdent ident = new PersonIdent(user.getDisplayName(), user.emailAddress == null ? user.getDisplayName() : user.emailAddress);
 					item.add(new GravatarImage("anAvatar", ident, 20));
 					if (pageRepository.equals(repository)) {
@@ -88,7 +93,7 @@
 						item.add(new LinkPanel("aProject", null, projectName, ProjectPage.class, WicketUtils.newProjectParameter(projectName)));
 					}
 				}
-				
+
 				String repo = StringUtils.getLastPathElement(repository.name);
 				UserModel user = GitBlitWebSession.get().getUser();
 				if (user == null) {
@@ -106,7 +111,7 @@
 					item.add(new Label("aFork", repo));
 					item.add(new Label("lastChange").setVisible(false));
 				}
-				
+
 				WicketUtils.setCssStyle(item, "margin-left:" + (32*fork.level) + "px;");
 				if (fork.level == 0) {
 					WicketUtils.setCssClass(item, "forkSource");
@@ -115,7 +120,7 @@
 				}
 			}
 		};
-		
+
 		add(forksList);
 	}
 
@@ -123,13 +128,13 @@
 	protected String getPageName() {
 		return getString("gb.forks");
 	}
-	
+
 	protected List<FlatFork> flatten(ForkModel root) {
 		List<FlatFork> list = new ArrayList<FlatFork>();
 		list.addAll(flatten(root, 0));
 		return list;
 	}
-	
+
 	protected List<FlatFork> flatten(ForkModel node, int level) {
 		List<FlatFork> list = new ArrayList<FlatFork>();
 		list.add(new FlatFork(node.repository, level));
@@ -140,14 +145,14 @@
 		}
 		return list;
 	}
-	
+
 	private class FlatFork implements Serializable {
-		
+
 		private static final long serialVersionUID = 1L;
 
 		public final RepositoryModel repository;
 		public final int level;
-		
+
 		public FlatFork(RepositoryModel repository, int level) {
 			this.repository = repository;
 			this.level = level;

--
Gitblit v1.9.1