From 94e12c168f5eec300fd23d0de25c7dc93a96c429 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 03 Mar 2014 17:51:21 -0500 Subject: [PATCH] Eliminate Gravatar profile linking and improve api --- src/main/java/com/gitblit/manager/GitblitManager.java | 46 ++++++++++++++++++++++++---------------------- 1 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/gitblit/manager/GitblitManager.java b/src/main/java/com/gitblit/manager/GitblitManager.java index 95d50ac..6eb6023 100644 --- a/src/main/java/com/gitblit/manager/GitblitManager.java +++ b/src/main/java/com/gitblit/manager/GitblitManager.java @@ -50,6 +50,7 @@ import com.gitblit.models.FederationSet; import com.gitblit.models.ForkModel; import com.gitblit.models.GitClientApplication; +import com.gitblit.models.Mailing; import com.gitblit.models.Metric; import com.gitblit.models.ProjectModel; import com.gitblit.models.RegistrantAccessPermission; @@ -172,7 +173,8 @@ if (!ArrayUtils.isEmpty(repository.owners)) { for (String owner : repository.owners) { UserModel originOwner = userManager.getUserModel(owner); - if (originOwner != null) { + if (originOwner != null && !originOwner.canClone(cloneModel)) { + // origin owner can't yet clone fork, grant explicit clone access originOwner.setRepositoryPermission(cloneName, AccessPermission.CLONE); reviseUser(originOwner.username, originOwner); } @@ -185,8 +187,8 @@ for (String name : users) { if (!name.equalsIgnoreCase(user.username)) { UserModel cloneUser = userManager.getUserModel(name); - if (cloneUser.canClone(repository)) { - // origin user can clone origin, grant clone access to fork + if (cloneUser.canClone(repository) && !cloneUser.canClone(cloneModel)) { + // origin user can't yet clone fork, grant explicit clone access cloneUser.setRepositoryPermission(cloneName, AccessPermission.CLONE); } cloneUsers.add(cloneUser); @@ -199,8 +201,8 @@ List<TeamModel> cloneTeams = new ArrayList<TeamModel>(); for (String name : teams) { TeamModel cloneTeam = userManager.getTeamModel(name); - if (cloneTeam.canClone(repository)) { - // origin team can clone origin, grant clone access to fork + if (cloneTeam.canClone(repository) && !cloneTeam.canClone(cloneModel)) { + // origin team can't yet clone fork, grant explicit clone access cloneTeam.setRepositoryPermission(cloneName, AccessPermission.CLONE); } cloneTeams.add(cloneTeam); @@ -583,28 +585,13 @@ } @Override - public void sendMail(String subject, String message, String... toAddresses) { - notificationManager.sendMail(subject, message, toAddresses); - } - - @Override public void sendHtmlMail(String subject, String message, Collection<String> toAddresses) { notificationManager.sendHtmlMail(subject, message, toAddresses); } @Override - public void sendHtmlMail(String subject, String message, String... toAddresses) { - notificationManager.sendHtmlMail(subject, message, toAddresses); - } - - @Override - public void sendHtmlMail(String from, String subject, String message, Collection<String> toAddresses) { - notificationManager.sendHtmlMail(from, subject, message, toAddresses); - } - - @Override - public void sendHtmlMail(String from, String subject, String message, String... toAddresses) { - notificationManager.sendHtmlMail(from, subject, message, toAddresses); + public void send(Mailing mail) { + notificationManager.send(mail); } /* @@ -1112,4 +1099,19 @@ public boolean deletePendingFederationProposal(FederationProposal proposal) { return federationManager.deletePendingFederationProposal(proposal); } + + @Override + public void closeAll() { + repositoryManager.closeAll(); + } + + @Override + public void close(String repository) { + repositoryManager.close(repository); + } + + @Override + public boolean isIdle(Repository repository) { + return repositoryManager.isIdle(repository); + } } -- Gitblit v1.9.1