diff options
| author | Imre Farkas <ifarkas@gitlab.com> | 2018-07-03 15:09:58 +0200 |
|---|---|---|
| committer | Imre Farkas <ifarkas@gitlab.com> | 2018-07-04 17:35:23 +0200 |
| commit | 9561db7b8c89586b5a163535a86ce2b5e0342343 (patch) | |
| tree | 463cb0e466e718d9ac6ce8c3071c7b8a6ad6274f /app/services | |
| parent | 7e9f46d0dc1ed34d7e7cb7b6ee31d08f53f2deaf (diff) | |
| download | gitlab-ce-9561db7b8c89586b5a163535a86ce2b5e0342343.tar.gz | |
Add option to add README when creating a project
Diffstat (limited to 'app/services')
| -rw-r--r-- | app/services/projects/create_service.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index a02a9052fb2..172497b8e67 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -2,6 +2,8 @@ module Projects class CreateService < BaseService def initialize(user, params) @current_user, @params = user, params.dup + @skip_wiki = @params.delete(:skip_wiki) + @initialize_with_readme = Gitlab::Utils.to_boolean(@params.delete(:initialize_with_readme)) end def execute @@ -11,7 +13,6 @@ module Projects forked_from_project_id = params.delete(:forked_from_project_id) import_data = params.delete(:import_data) - @skip_wiki = params.delete(:skip_wiki) @project = Project.new(params) @@ -102,6 +103,8 @@ module Projects setup_authorizations current_user.invalidate_personal_projects_count + + create_readme if @initialize_with_readme end # Refresh the current user's authorizations inline (so they can access the @@ -116,6 +119,17 @@ module Projects end end + def create_readme + commit_attrs = { + branch_name: 'master', + commit_message: 'Initial commit', + file_path: 'README.md', + file_content: "# #{@project.name}\n\n#{@project.description}" + } + + Files::CreateService.new(@project, current_user, commit_attrs).execute + end + def skip_wiki? !@project.feature_available?(:wiki, current_user) || @skip_wiki end |
