| | |
| | | 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); |
| | | } |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | protected String getRepositoryUrl(HttpServletRequest request, String username, RepositoryModel repository) { |
| | | String gitblitUrl = settings.getString(Keys.web.canonicalUrl, null); |
| | | if (StringUtils.isEmpty(gitblitUrl)) { |
| | | gitblitUrl = HttpUtils.getGitblitURL(request); |
| | | } |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.append(HttpUtils.getGitblitURL(request)); |
| | | sb.append(gitblitUrl); |
| | | sb.append(Constants.R_PATH); |
| | | sb.append(repository.name); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public String getCookie(HttpServletRequest request) { |
| | | return authenticationManager.getCookie(request); |
| | | } |
| | | |
| | | @Override |
| | | public void setCookie(HttpServletResponse response, UserModel user) { |
| | | authenticationManager.setCookie(response, user); |
| | | } |