James Moger
2012-10-03 ec0ce1621a3e145d5786c0c26caffd0c5c3acd61
Fix anonymous browsing of user profile page
3 files modified
11 ■■■■ changed files
src/com/gitblit/models/RepositoryModel.java 4 ●●●● patch | view | raw | blame | history
src/com/gitblit/models/UserModel.java 2 ●●● patch | view | raw | blame | history
src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java 5 ●●●● patch | view | raw | blame | history
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) == '~';
    }
src/com/gitblit/models/UserModel.java
@@ -59,7 +59,7 @@
    }
    private UserModel() {
        this.username = "anonymous";
        this.username = "$anonymous";
        this.isAuthenticated = false;
    }
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);