From 11c14e192b907acd3fdc2d6a9bcf4faafc593afe Mon Sep 17 00:00:00 2001
From: Rafael Cavazin <rafaelcavazin@gmail.com>
Date: Sun, 27 Jan 2013 11:13:06 -0500
Subject: [PATCH] updating latest props, and some pt-br fixing

---
 src/com/gitblit/wicket/pages/UserPage.java |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/UserPage.java b/src/com/gitblit/wicket/pages/UserPage.java
index cabefb4..f4331dd 100644
--- a/src/com/gitblit/wicket/pages/UserPage.java
+++ b/src/com/gitblit/wicket/pages/UserPage.java
@@ -21,8 +21,8 @@
 import java.util.List;
 
 import org.apache.wicket.PageParameters;
-import org.apache.wicket.RedirectException;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.data.DataView;
 import org.apache.wicket.markup.repeater.data.ListDataProvider;
@@ -36,6 +36,7 @@
 import com.gitblit.utils.StringUtils;
 import com.gitblit.wicket.GitBlitWebApp;
 import com.gitblit.wicket.GitBlitWebSession;
+import com.gitblit.wicket.GitblitRedirectException;
 import com.gitblit.wicket.PageRegistration;
 import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
 import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
@@ -50,7 +51,7 @@
 
 	public UserPage() {
 		super();
-		throw new RedirectException(GitBlitWebApp.get().getHomePage());
+		throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage());
 	}
 
 	public UserPage(PageParameters params) {
@@ -74,7 +75,7 @@
 
 		String userName = WicketUtils.getUsername(params);
 		if (StringUtils.isEmpty(userName)) {
-			throw new RedirectException(GitBlitWebApp.get().getHomePage());
+			throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage());
 		}
 
 		UserModel user = GitBlit.self().getUserModel(userName);
@@ -87,7 +88,7 @@
 		
 		ProjectModel project = GitBlit.self().getProjectModel(projectName);
 		if (project == null) {
-			throw new RedirectException(GitBlitWebApp.get().getHomePage());
+			project = new ProjectModel(projectName);
 		}
 		
 		add(new Label("userDisplayName", user.getDisplayName()));
@@ -96,9 +97,17 @@
 		email.setRenderBodyOnly(true);
 		add(email.setVisible(GitBlit.getBoolean(Keys.web.showEmailAddresses, true) && !StringUtils.isEmpty(user.emailAddress)));
 		
-		PersonIdent person = new PersonIdent(user.getDisplayName(), user.emailAddress);
+		PersonIdent person = new PersonIdent(user.getDisplayName(), user.emailAddress == null ? user.getDisplayName() : user.emailAddress);
 		add(new GravatarImage("gravatar", person, 210));
 		
+		UserModel sessionUser = GitBlitWebSession.get().getUser();
+		if (sessionUser != null && user.canCreate() && sessionUser.equals(user)) {
+			// user can create personal repositories
+			add(new BookmarkablePageLink<Void>("newRepository", EditRepositoryPage.class));
+		} else {
+			add(new Label("newRepository").setVisible(false));
+		}
+		
 		List<RepositoryModel> repositories = getRepositories(params);
 		
 		Collections.sort(repositories, new Comparator<RepositoryModel>() {

--
Gitblit v1.9.1