From 6b35f8c32de5ebf7bedc429a6ff62709af9d5acd Mon Sep 17 00:00:00 2001 From: Rafael Cavazin <rafaelcavazin@gmail.com> Date: Fri, 07 Dec 2012 08:24:16 -0500 Subject: [PATCH] Merge remote-tracking branch 'upstream/master' into translation_to_pt-br --- src/com/gitblit/GitBlit.java | 12 +++++------- src/com/gitblit/wicket/GitBlitWebApp.properties | 3 ++- src/com/gitblit/wicket/pages/EditRepositoryPage.java | 6 ++++-- src/com/gitblit/wicket/panels/ActivityPanel.java | 4 +--- src/com/gitblit/utils/ActivityUtils.java | 4 ++++ src/com/gitblit/wicket/panels/BranchesPanel.java | 4 ++-- src/com/gitblit/client/EditRepositoryDialog.java | 3 +-- src/com/gitblit/wicket/panels/ActivityPanel.html | 2 +- src/com/gitblit/models/UserModel.java | 7 +++++++ src/com/gitblit/wicket/pages/RepositoryPage.java | 2 +- 10 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java index c2d4a85..46b0d40 100644 --- a/src/com/gitblit/GitBlit.java +++ b/src/com/gitblit/GitBlit.java @@ -3044,22 +3044,20 @@ ServletContext context = contextEvent.getServletContext(); WebXmlSettings webxmlSettings = new WebXmlSettings(context); - // 0.7.0 web.properties in the deployed war folder - String webProps = context.getRealPath("/WEB-INF/web.properties"); + // gitblit.properties file located within the webapp + String webProps = context.getRealPath("/WEB-INF/gitblit.properties"); if (!StringUtils.isEmpty(webProps)) { File overrideFile = new File(webProps); - if (overrideFile.exists()) { - webxmlSettings.applyOverrides(overrideFile); - } + webxmlSettings.applyOverrides(overrideFile); } - - // 0.8.0 gitblit.properties file located outside the deployed war + // gitblit.properties file located outside the deployed war // folder lie, for example, on RedHat OpenShift. File overrideFile = getFileOrFolder("gitblit.properties"); if (!overrideFile.getPath().equals("gitblit.properties")) { webxmlSettings.applyOverrides(overrideFile); } + configureContext(webxmlSettings, true); // Copy the included scripts to the configured groovy folder diff --git a/src/com/gitblit/client/EditRepositoryDialog.java b/src/com/gitblit/client/EditRepositoryDialog.java index aa6ad58..6f9ed52 100644 --- a/src/com/gitblit/client/EditRepositoryDialog.java +++ b/src/com/gitblit/client/EditRepositoryDialog.java @@ -227,9 +227,8 @@ isFrozen = new JCheckBox(Translation.get("gb.isFrozenDescription"), anRepository.isFrozen); - maxActivityCommits = new JComboBox(new Integer [] { 0, 25, 50, 75, 100, 150, 250, 500 }); + maxActivityCommits = new JComboBox(new Integer [] { -1, 0, 25, 50, 75, 100, 150, 250, 500 }); maxActivityCommits.setSelectedItem(anRepository.maxActivityCommits); - mailingListsField = new JTextField( ArrayUtils.isEmpty(anRepository.mailingLists) ? "" diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java index f1bc5ef..ac67ff7 100644 --- a/src/com/gitblit/models/UserModel.java +++ b/src/com/gitblit/models/UserModel.java @@ -360,6 +360,12 @@ public boolean canView(RepositoryModel repository) { return canAccess(repository, AccessRestrictionType.VIEW, AccessPermission.VIEW); } + + public boolean canView(RepositoryModel repository, String ref) { + // Default UserModel doesn't implement ref-level security. + // Other Realms (i.e. Gerrit) may override this method. + return canView(repository); + } public boolean canClone(RepositoryModel repository) { return canAccess(repository, AccessRestrictionType.CLONE, AccessPermission.CLONE); @@ -587,6 +593,7 @@ return nameVerified && emailVerified; } + @Deprecated public boolean hasBranchPermission(String repositoryName, String branch) { // Default UserModel doesn't implement branch-level security. Other Realms (i.e. Gerrit) may override this method. return hasRepositoryPermission(repositoryName) || hasTeamRepositoryPermission(repositoryName); diff --git a/src/com/gitblit/utils/ActivityUtils.java b/src/com/gitblit/utils/ActivityUtils.java index 80aaebb..ef3a55e 100644 --- a/src/com/gitblit/utils/ActivityUtils.java +++ b/src/com/gitblit/utils/ActivityUtils.java @@ -81,6 +81,10 @@ Map<String, Activity> activity = new HashMap<String, Activity>(); for (RepositoryModel model : models) { + if (model.maxActivityCommits == -1) { + // skip this repository + continue; + } if (model.hasCommits && model.lastChange.after(thresholdDate)) { if (model.isCollectingGarbage) { continue; diff --git a/src/com/gitblit/wicket/GitBlitWebApp.properties b/src/com/gitblit/wicket/GitBlitWebApp.properties index 5b42a2c..16f7641 100644 --- a/src/com/gitblit/wicket/GitBlitWebApp.properties +++ b/src/com/gitblit/wicket/GitBlitWebApp.properties @@ -439,4 +439,5 @@ gb.sslCertificateGeneratedRestart = Successfully generated new server SSL certificate for {0}.\nYou must restart Gitblit to use the new certificate.\n\nIf you are launching with the '--alias' parameter you will have to set that to ''--alias {0}''. gb.validity = validity gb.siteName = site name -gb.siteNameDescription = short, descriptive name of your server \ No newline at end of file +gb.siteNameDescription = short, descriptive name of your server +gb.excludeFromActivity = exclude from activity page \ No newline at end of file diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java index 7f66f68..a071b69 100644 --- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java +++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java @@ -414,7 +414,7 @@ form.add(new CheckBox("showReadme")); form.add(new CheckBox("skipSizeCalculation")); form.add(new CheckBox("skipSummaryMetrics")); - List<Integer> maxActivityCommits = Arrays.asList(0, 25, 50, 75, 100, 150, 200, 250, 500 ); + List<Integer> maxActivityCommits = Arrays.asList(-1, 0, 25, 50, 75, 100, 150, 200, 250, 500 ); form.add(new DropDownChoice<Integer>("maxActivityCommits", maxActivityCommits, new MaxActivityCommitsRenderer())); mailingLists = new Model<String>(ArrayUtils.isEmpty(repositoryModel.mailingLists) ? "" @@ -666,7 +666,9 @@ @Override public String getDisplayValue(Integer value) { - if (value == 0) { + if (value == -1) { + return getString("gb.excludeFromActivity"); + } else if (value == 0) { return getString("gb.noMaximum"); } else { return value + " " + getString("gb.commits"); diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index 3acf73a..b4e1a0e 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -112,7 +112,7 @@ // workaround until get().getUser() is reviewed throughout the app user = UserModel.ANONYMOUS; } - boolean canAccess = user.hasBranchPermission(repositoryName, + boolean canAccess = user.canView(getRepositoryModel(), branch.reference.getName()); if (!canAccess) { error(getString("gb.accessDenied"), true); diff --git a/src/com/gitblit/wicket/panels/ActivityPanel.html b/src/com/gitblit/wicket/panels/ActivityPanel.html index f4d1409..b818e94 100644 --- a/src/com/gitblit/wicket/panels/ActivityPanel.html +++ b/src/com/gitblit/wicket/panels/ActivityPanel.html @@ -26,7 +26,7 @@ </td> <td class="hidden-phone rightAlign" style="width:7em;vertical-align: middle;"> <span class="link"> - <a wicket:id="view" target="_blank"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="diff" target="_blank"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="tree" target="_blank"><wicket:message key="gb.tree"></wicket:message></a> + <a wicket:id="diff" target="_blank"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="tree" target="_blank"><wicket:message key="gb.tree"></wicket:message></a> </span> </td> </tr> diff --git a/src/com/gitblit/wicket/panels/ActivityPanel.java b/src/com/gitblit/wicket/panels/ActivityPanel.java index 9a123d8..6caee3e 100644 --- a/src/com/gitblit/wicket/panels/ActivityPanel.java +++ b/src/com/gitblit/wicket/panels/ActivityPanel.java @@ -132,9 +132,7 @@ commitItem.add(new RefsPanel("commitRefs", commit.repository, commit .getRefs())); - // view, diff, tree links - commitItem.add(new BookmarkablePageLink<Void>("view", CommitPage.class, - WicketUtils.newObjectParameter(commit.repository, commit.getName()))); + // diff, tree links commitItem.add(new BookmarkablePageLink<Void>("diff", CommitDiffPage.class, WicketUtils.newObjectParameter(commit.repository, commit.getName())) .setEnabled(commit.getParentCount() > 0)); diff --git a/src/com/gitblit/wicket/panels/BranchesPanel.java b/src/com/gitblit/wicket/panels/BranchesPanel.java index 26fedc1..1262077 100644 --- a/src/com/gitblit/wicket/panels/BranchesPanel.java +++ b/src/com/gitblit/wicket/panels/BranchesPanel.java @@ -67,14 +67,14 @@ List<RefModel> localBranches = JGitUtils.getLocalBranches(r, false, -1); for (RefModel refModel : localBranches) { - if (user.hasBranchPermission(model.name, refModel.reference.getName())) { + if (user.canView(model, refModel.reference.getName())) { branches.add(refModel); } } if (model.showRemoteBranches) { List<RefModel> remoteBranches = JGitUtils.getRemoteBranches(r, false, -1); for (RefModel refModel : remoteBranches) { - if (user.hasBranchPermission(model.name, refModel.reference.getName())) { + if (user.canView(model, refModel.reference.getName())) { branches.add(refModel); } } -- Gitblit v1.9.1