Index: app/controllers/projects_controller.rb =================================================================== --- app/controllers/projects_controller.rb (revision 3625) +++ app/controllers/projects_controller.rb (working copy) @@ -73,6 +73,7 @@ @project.identifier = Project.next_identifier if Setting.sequential_project_identifiers? @project.trackers = Tracker.all @project.is_public = Setting.default_projects_public? + @project.public_repo = Setting.default_projects_public? @project.enabled_module_names = Setting.default_projects_modules else @project.enabled_module_names = params[:enabled_modules] Index: app/views/projects/_form.rhtml =================================================================== --- app/views/projects/_form.rhtml (revision 3625) +++ app/views/projects/_form.rhtml (working copy) @@ -15,6 +15,7 @@ <% end %>

<%= f.text_field :homepage, :size => 60 %>

<%= f.check_box :is_public %>

+

<%= f.check_box :public_repo %>

<%= wikitoolbar_for 'project_description' %> <% @project.custom_field_values.each do |value| %> Index: config/locales/en.yml =================================================================== --- config/locales/en.yml (revision 3625) +++ config/locales/en.yml (working copy) @@ -279,6 +279,7 @@ field_group_by: Group results by field_sharing: Sharing field_parent_issue: Parent task + field_public_repo: Public Repository setting_app_title: Application title setting_app_subtitle: Application subtitle @@ -380,6 +381,10 @@ permission_browse_repository: Browse repository permission_view_changesets: View changesets permission_commit_access: Commit access + permission_manage_private_repository: Manage private repository + permission_browse_private_repository: Browse private repository + permission_view_private_changesets: View private changesets + permission_private_commit_access: Private commit access permission_manage_boards: Manage boards permission_view_messages: View messages permission_add_messages: Post messages Index: db/migrate/20100328203018_add_project_field_public_repo.rb =================================================================== --- db/migrate/20100328203018_add_project_field_public_repo.rb (revision 0) +++ db/migrate/20100328203018_add_project_field_public_repo.rb (revision 0) @@ -0,0 +1,9 @@ +class AddProjectFieldPublicRepo < ActiveRecord::Migration + def self.up + add_column :projects, :public_repo, :boolean, :null => false, :default => true + end + + def self.down + remove_column :projects, :public_repo + end +end Index: lib/redmine.rb =================================================================== --- lib/redmine.rb (revision 3625) +++ lib/redmine.rb (working copy) @@ -113,6 +113,10 @@ map.permission :browse_repository, :repositories => [:show, :browse, :entry, :annotate, :changes, :diff, :stats, :graph] map.permission :view_changesets, :repositories => [:show, :revisions, :revision] map.permission :commit_access, {} + map.permission :manage_private_repository, {:repositories => [:edit, :committers, :destroy]}, :require => :member + map.permission :browse_private_repository, :repositories => [:show, :browse, :entry, :annotate, :changes, :diff, :stats, :graph] + map.permission :view_private_changesets, :repositories => [:show, :revisions, :revision] + map.permission :private_commit_access, {} end map.project_module :boards do |map| Index: lib/redmine/default_data/loader.rb =================================================================== --- lib/redmine/default_data/loader.rb (revision 3625) +++ lib/redmine/default_data/loader.rb (working copy) @@ -72,7 +72,10 @@ :manage_files, :browse_repository, :view_changesets, - :commit_access] + :commit_access, + :browse_private_repository, + :view_private_changesets, + :private_commit_access] reporter = Role.create! :name => l(:default_role_reporter), :position => 3, @@ -92,7 +95,9 @@ :edit_own_messages, :view_files, :browse_repository, - :view_changesets] + :view_changesets, + :browse_private_repository, + :view_private_changesets] Role.non_member.update_attribute :permissions, [:view_issues, :add_issues, Index: test/fixtures/roles.yml =================================================================== --- test/fixtures/roles.yml (revision 3625) +++ test/fixtures/roles.yml (working copy) @@ -50,6 +50,9 @@ - :browse_repository - :manage_repository - :view_changesets + - :browse_private_repository + - :manage_private_repository + - :view_private_changesets - :manage_project_activities position: 1 @@ -95,6 +98,8 @@ - :manage_files - :browse_repository - :view_changesets + - :browse_private_repository + - :view_private_changesets position: 2 roles_003: @@ -133,6 +138,8 @@ - :manage_files - :browse_repository - :view_changesets + - :browse_private_repository + - :view_private_changesets position: 3 roles_004: