diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-07-07 12:50:01 +0300 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-07-07 12:50:01 +0300 |
commit | c478202ebfa06fdd4ecbafbba285f98d2aa08d60 (patch) | |
tree | 0c8734236e6c91bf074c1cccd89c7a8f06c49757 /app/services/boards | |
parent | de2d5ce685877249434ba412b5839910bc703882 (diff) |
This makes the `Boards::CreateService` more reusable for EE
Diffstat (limited to 'app/services/boards')
-rw-r--r-- | app/services/boards/create_service.rb | 19 |
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 |