From 6c5511020457c39961d069071ac60f7140ec724f Mon Sep 17 00:00:00 2001 From: Lukasz Jader <ljaderdev@gmail.com> Date: Wed, 19 Sep 2012 16:24:10 -0400 Subject: [PATCH] Update polish translation of EmptyRepositoryPage --- src/com/gitblit/models/UserModel.java | 61 +++++++++++++++++++++++++++++- 1 files changed, 59 insertions(+), 2 deletions(-) diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java index dadc44e..8349bab 100644 --- a/src/com/gitblit/models/UserModel.java +++ b/src/com/gitblit/models/UserModel.java @@ -20,6 +20,7 @@ import java.util.HashSet; import java.util.Set; +import com.gitblit.Constants.AuthorizationControl; import com.gitblit.utils.StringUtils; /** @@ -37,12 +38,20 @@ // field names are reflectively mapped in EditUser page public String username; public String password; + public String cookie; + public String displayName; + public String emailAddress; public boolean canAdmin; public boolean excludeFromFederation; public final Set<String> repositories = new HashSet<String>(); + public final Set<TeamModel> teams = new HashSet<TeamModel>(); + // non-persisted fields + public boolean isAuthenticated; + public UserModel(String username) { this.username = username; + this.isAuthenticated = true; } /** @@ -54,23 +63,71 @@ */ @Deprecated public boolean canAccessRepository(String repositoryName) { - return canAdmin || repositories.contains(repositoryName.toLowerCase()); + return canAdmin || repositories.contains(repositoryName.toLowerCase()) + || hasTeamAccess(repositoryName); } public boolean canAccessRepository(RepositoryModel repository) { boolean isOwner = !StringUtils.isEmpty(repository.owner) && repository.owner.equals(username); - return canAdmin || isOwner || repositories.contains(repository.name.toLowerCase()); + boolean allowAuthenticated = isAuthenticated && AuthorizationControl.AUTHENTICATED.equals(repository.authorizationControl); + return canAdmin || isOwner || repositories.contains(repository.name.toLowerCase()) + || hasTeamAccess(repository.name) || allowAuthenticated; + } + + public boolean hasTeamAccess(String repositoryName) { + for (TeamModel team : teams) { + if (team.hasRepository(repositoryName)) { + return true; + } + } + return false; + } + + public boolean hasRepository(String name) { + return repositories.contains(name.toLowerCase()); } public void addRepository(String name) { repositories.add(name.toLowerCase()); } + public void removeRepository(String name) { + repositories.remove(name.toLowerCase()); + } + + public boolean isTeamMember(String teamname) { + for (TeamModel team : teams) { + if (team.name.equalsIgnoreCase(teamname)) { + return true; + } + } + return false; + } + + public TeamModel getTeam(String teamname) { + if (teams == null) { + return null; + } + for (TeamModel team : teams) { + if (team.name.equalsIgnoreCase(teamname)) { + return team; + } + } + return null; + } + @Override public String getName() { return username; } + + public String getDisplayName() { + if (StringUtils.isEmpty(displayName)) { + return username; + } + return displayName; + } @Override public String toString() { -- Gitblit v1.9.1