summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@gitlab.com>2018-07-03 15:09:58 +0200
committerImre Farkas <ifarkas@gitlab.com>2018-07-04 17:35:23 +0200
commit9561db7b8c89586b5a163535a86ce2b5e0342343 (patch)
tree463cb0e466e718d9ac6ce8c3071c7b8a6ad6274f /app/services
parent7e9f46d0dc1ed34d7e7cb7b6ee31d08f53f2deaf (diff)
downloadgitlab-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.rb16
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