Commit b536acc92ad86754fc85dc7c08455762ffb83ad4

Authored by Dmitriy Zaporozhets
2 parents 748874a0 f5b549af

Merge pull request #3707 from Undev/default_project_settings

Default settings for project features
app/contexts/projects/create_context.rb
@@ -33,8 +33,11 @@ module Projects @@ -33,8 +33,11 @@ module Projects
33 end 33 end
34 34
35 # Disable less important features by default 35 # Disable less important features by default
36 - @project.wall_enabled = false  
37 - @project.snippets_enabled = false 36 + @project.issues_enabled = Gitlab.config.gitlab.default_projects_features.issues
  37 + @project.wiki_enabled = Gitlab.config.gitlab.default_projects_features.wiki
  38 + @project.wall_enabled = Gitlab.config.gitlab.default_projects_features.wall
  39 + @project.snippets_enabled = Gitlab.config.gitlab.default_projects_features.snippets
  40 + @project.merge_requests_enabled = Gitlab.config.gitlab.default_projects_features.merge_requests
38 41
39 @project.creator = current_user 42 @project.creator = current_user
40 43
config/gitlab.yml.example
@@ -37,6 +37,13 @@ production: &base @@ -37,6 +37,13 @@ production: &base
37 # signup_enabled: true # default: false - Account passwords are not sent via the email if signup is enabled. 37 # signup_enabled: true # default: false - Account passwords are not sent via the email if signup is enabled.
38 # username_changing_enabled: false # default: true - User can change her username/namespace 38 # username_changing_enabled: false # default: true - User can change her username/namespace
39 39
  40 + ## Default project features settings
  41 + default_projects_features:
  42 + issues: true
  43 + merge_requests: true
  44 + wiki: true
  45 + wall: false
  46 + snippets: false
40 47
41 ## External issues trackers 48 ## External issues trackers
42 issues_tracker: 49 issues_tracker:
config/initializers/1_settings.rb
@@ -60,6 +60,12 @@ Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url) @@ -60,6 +60,12 @@ Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
60 Settings.gitlab['user'] ||= 'git' 60 Settings.gitlab['user'] ||= 'git'
61 Settings.gitlab['signup_enabled'] ||= false 61 Settings.gitlab['signup_enabled'] ||= false
62 Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil? 62 Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil?
  63 +Settings.gitlab['default_projects_features'] ||= {}
  64 +Settings.gitlab.default_projects_features['issues'] = true if Settings.gitlab.default_projects_features['issues'].nil?
  65 +Settings.gitlab.default_projects_features['merge_requests'] = true if Settings.gitlab.default_projects_features['merge_requests'].nil?
  66 +Settings.gitlab.default_projects_features['wiki'] = true if Settings.gitlab.default_projects_features['wiki'].nil?
  67 +Settings.gitlab.default_projects_features['wall'] = false if Settings.gitlab.default_projects_features['wall'].nil?
  68 +Settings.gitlab.default_projects_features['snippets'] = false if Settings.gitlab.default_projects_features['snippets'].nil?
63 69
64 # 70 #
65 # Gravatar 71 # Gravatar