From ec0ce1621a3e145d5786c0c26caffd0c5c3acd61 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 03 Oct 2012 17:50:48 -0400
Subject: [PATCH] Fix anonymous browsing of user profile page
---
src/com/gitblit/models/RepositoryModel.java | 4 ++++
src/com/gitblit/models/UserModel.java | 2 +-
src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java | 5 ++++-
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/com/gitblit/models/RepositoryModel.java b/src/com/gitblit/models/RepositoryModel.java
index 65629fa..caf7e7e 100644
--- a/src/com/gitblit/models/RepositoryModel.java
+++ b/src/com/gitblit/models/RepositoryModel.java
@@ -152,6 +152,10 @@
return !StringUtils.isEmpty(originRepository);
}
+ public boolean isOwner(String username) {
+ return owner != null && username != null && owner.equalsIgnoreCase(username);
+ }
+
public boolean isPersonalRepository() {
return !StringUtils.isEmpty(projectPath) && projectPath.charAt(0) == '~';
}
diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java
index 6d5de3b..dd41df0 100644
--- a/src/com/gitblit/models/UserModel.java
+++ b/src/com/gitblit/models/UserModel.java
@@ -59,7 +59,7 @@
}
private UserModel() {
- this.username = "anonymous";
+ this.username = "$anonymous";
this.isAuthenticated = false;
}
diff --git a/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java b/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java
index 0a6bc62..50f0d52 100644
--- a/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java
+++ b/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java
@@ -134,8 +134,11 @@
}
UserModel user = GitBlitWebSession.get().getUser();
+ if (user == null) {
+ user = UserModel.ANONYMOUS;
+ }
Fragment repositoryLinks;
- boolean showOwner = user != null && user.username.equalsIgnoreCase(entry.owner);
+ boolean showOwner = entry.isOwner(user.username);
// owner of personal repository gets admin powers
boolean showAdmin = isAdmin || entry.isUsersPersonalRepository(user.username);
--
Gitblit v1.9.1