]> source.dussan.org Git - gitblit.git/commitdiff
Implemented default access restriction (issue 88)
authorJames Moger <james.moger@gitblit.com>
Wed, 6 Jun 2012 21:00:21 +0000 (17:00 -0400)
committerJames Moger <james.moger@gitblit.com>
Wed, 6 Jun 2012 21:00:21 +0000 (17:00 -0400)
distrib/gitblit.properties
docs/04_releases.mkd
src/com/gitblit/GitBlit.java
src/com/gitblit/client/EditRepositoryDialog.java
src/com/gitblit/client/GitblitClient.java
src/com/gitblit/client/RepositoriesPanel.java
src/com/gitblit/wicket/pages/EditRepositoryPage.java

index 6353696e0a0ff199b69ba922d5e8da6c98e3fbca..58833c0f418b9956df16278750335242aa4ac46b 100644 (file)
@@ -37,6 +37,16 @@ git.enableGitServlet = true
 # SINCE 0.9.0\r
 git.onlyAccessBareRepositories = false\r
 \r
+# The default access restriction for new repositories.\r
+# Valid values are NONE, PUSH, CLONE, VIEW\r
+#  NONE = anonymous view, clone, & push\r
+#  PUSH = anonymous view & clone and authenticated push\r
+#  CLONE = anonymous view, authenticated clone & push\r
+#  VIEW = authenticated view, clone, & push\r
+#\r
+# SINCE 1.0.0\r
+git.defaultAccessRestriction = NONE\r
+\r
 #\r
 # Groovy Integration\r
 #\r
index 8a24acfca8cb16cd6c45a5c2624789025c6ba65f..9e61a8249bf712aea227c1040abf87784715b264 100644 (file)
@@ -16,6 +16,8 @@
 \r
 #### additions\r
 \r
+- Added default access restriction.  Applies to new repositories and repositories that have not been configured with Gitblit. (issue 88)  \r
+    **New:** *git.defaultAccessRestriction = NONE*  \r
 - Added LDAP User Service with many new *realm.ldap* keys (Github/jcrygier)\r
 - Added support for custom repository properties for Groovy hooks (Github/jcrygier)\r
 - Added script to facilitate proxy environment setup on Linux (Github/mragab)\r
index a86cfd7f2442e8f818270b37401b199025c495d5..969dc537ad1d744a64ea89058f78375eb655eb00 100644 (file)
@@ -849,7 +849,7 @@ public class GitBlit implements ServletContextListener {
                        model.useTickets = getConfig(config, "useTickets", false);\r
                        model.useDocs = getConfig(config, "useDocs", false);\r
                        model.accessRestriction = AccessRestrictionType.fromName(getConfig(config,\r
-                                       "accessRestriction", null));\r
+                                       "accessRestriction", settings.getString(Keys.git.defaultAccessRestriction, null)));\r
                        model.showRemoteBranches = getConfig(config, "showRemoteBranches", false);\r
                        model.isFrozen = getConfig(config, "isFrozen", false);\r
                        model.showReadme = getConfig(config, "showReadme", false);\r
index 96c0dd1fea6cad346a47c62cd49071dfd3f72f9a..f6a315be8987239b17a1ef51a675efe7de611495 100644 (file)
@@ -487,6 +487,10 @@ public class EditRepositoryDialog extends JDialog {
                JOptionPane.showMessageDialog(EditRepositoryDialog.this, message,\r
                                Translation.get("gb.error"), JOptionPane.ERROR_MESSAGE);\r
        }\r
+       \r
+       public void setAccessRestriction(AccessRestrictionType restriction) {\r
+               this.accessRestriction.setSelectedItem(restriction);\r
+       }\r
 \r
        public void setUsers(String owner, List<String> all, List<String> selected) {\r
                ownerField.setModel(new DefaultComboBoxModel(all.toArray()));\r
index 09bcaab938323c3045810b10aaf0580507f5c26a..ed5a1337744115ee4b89dcbb43d5a4998d7739dd 100644 (file)
@@ -28,6 +28,7 @@ import java.util.Set;
 import java.util.TreeSet;\r
 \r
 import com.gitblit.Constants;\r
+import com.gitblit.Constants.AccessRestrictionType;\r
 import com.gitblit.GitBlitException.ForbiddenException;\r
 import com.gitblit.GitBlitException.NotAllowedException;\r
 import com.gitblit.GitBlitException.UnauthorizedException;\r
@@ -185,6 +186,14 @@ public class GitblitClient implements Serializable {
                        return sb.toString();\r
                }\r
        }\r
+       \r
+       public AccessRestrictionType getDefaultAccessRestriction() {\r
+               String restriction = null;\r
+               if (settings.hasKey(Keys.git.defaultAccessRestriction)) {\r
+                       restriction = settings.get(Keys.git.defaultAccessRestriction).currentValue;\r
+               }\r
+               return AccessRestrictionType.fromName(restriction);\r
+       }\r
 \r
        /**\r
         * Returns the list of pre-receive scripts the repository inherited from the\r
index 7cff4b68f30176536847c87e63c4c116adabbf46..c5d0d35b05725698851140fd16d3ce9fadc6c29f 100644 (file)
@@ -357,6 +357,7 @@ public abstract class RepositoriesPanel extends JPanel {
        protected void createRepository() {\r
                EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion());\r
                dialog.setLocationRelativeTo(RepositoriesPanel.this);\r
+               dialog.setAccessRestriction(gitblit.getDefaultAccessRestriction());\r
                dialog.setUsers(null, gitblit.getUsernames(), null);\r
                dialog.setTeams(gitblit.getTeamnames(), null);\r
                dialog.setRepositories(gitblit.getRepositories());\r
index e057e2a2e364fbe7518ebe1e87ac977f20805ec8..572f650d3638825e858f4784df7ee20414158b1e 100644 (file)
@@ -72,7 +72,10 @@ public class EditRepositoryPage extends RootSubPage {
                // create constructor\r
                super();\r
                isCreate = true;\r
-               setupPage(new RepositoryModel());\r
+               RepositoryModel model = new RepositoryModel();\r
+               String restriction = GitBlit.getString(Keys.git.defaultAccessRestriction, null);\r
+               model.accessRestriction = AccessRestrictionType.fromName(restriction);\r
+               setupPage(model);\r
        }\r
 \r
        public EditRepositoryPage(PageParameters params) {\r