Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@vanlanduyt.co>2017-07-07 12:50:01 +0300
committerBob Van Landuyt <bob@vanlanduyt.co>2017-07-07 12:50:01 +0300
commitc478202ebfa06fdd4ecbafbba285f98d2aa08d60 (patch)
tree0c8734236e6c91bf074c1cccd89c7a8f06c49757 /app/services/boards
parentde2d5ce685877249434ba412b5839910bc703882 (diff)
This makes the `Boards::CreateService` more reusable for EE
Diffstat (limited to 'app/services/boards')
-rw-r--r--app/services/boards/create_service.rb19
1 files changed, 11 insertions, 8 deletions
diff --git a/app/services/boards/create_service.rb b/app/services/boards/create_service.rb
index 68f6a8619e5..9eedb9e65a2 100644
--- a/app/services/boards/create_service.rb
+++ b/app/services/boards/create_service.rb
@@ -1,19 +1,22 @@
module Boards
class CreateService < BaseService
def execute
- if project.boards.empty?
- create_board!
- else
- project.boards.first
- end
+ create_board! if can_create_board?
end
private
+ def can_create_board?
+ project.boards.size == 0
+ end
+
def create_board!
- board = project.boards.create
- board.lists.create(list_type: :backlog)
- board.lists.create(list_type: :closed)
+ board = project.boards.create(params)
+
+ if board.persisted?
+ board.lists.create(list_type: :backlog)
+ board.lists.create(list_type: :closed)
+ end
board
end