diff --git a/app/contexts/projects/create_context.rb b/app/contexts/projects/create_context.rb index 56c4e1c51da..f044b1eeb6a 100644 --- a/app/contexts/projects/create_context.rb +++ b/app/contexts/projects/create_context.rb @@ -33,8 +33,11 @@ module Projects end # Disable less important features by default - @project.wall_enabled = false - @project.snippets_enabled = false + @project.issues_enabled = Gitlab.config.gitlab.default_projects_features.issues + @project.wiki_enabled = Gitlab.config.gitlab.default_projects_features.wiki + @project.wall_enabled = Gitlab.config.gitlab.default_projects_features.wall + @project.snippets_enabled = Gitlab.config.gitlab.default_projects_features.snippets + @project.merge_requests_enabled = Gitlab.config.gitlab.default_projects_features.merge_requests @project.creator = current_user diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index 10fe1245115..0ba8b5d211f 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -37,6 +37,13 @@ production: &base # signup_enabled: true # default: false - Account passwords are not sent via the email if signup is enabled. # username_changing_enabled: false # default: true - User can change her username/namespace + ## Default project features settings + default_projects_features: + issues: true + merge_requests: true + wiki: true + wall: false + snippets: false ## External issues trackers issues_tracker: diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index ac35eef4218..be5393b0483 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -60,6 +60,12 @@ Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url) Settings.gitlab['user'] ||= 'git' Settings.gitlab['signup_enabled'] ||= false Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil? +Settings.gitlab['default_projects_features'] ||= {} +Settings.gitlab.default_projects_features['issues'] = true if Settings.gitlab.default_projects_features['issues'].nil? +Settings.gitlab.default_projects_features['merge_requests'] = true if Settings.gitlab.default_projects_features['merge_requests'].nil? +Settings.gitlab.default_projects_features['wiki'] = true if Settings.gitlab.default_projects_features['wiki'].nil? +Settings.gitlab.default_projects_features['wall'] = false if Settings.gitlab.default_projects_features['wall'].nil? +Settings.gitlab.default_projects_features['snippets'] = false if Settings.gitlab.default_projects_features['snippets'].nil? # # Gravatar