create_service.rb 489 字节
Newer Older
1 2
module Groups
  class CreateService < Groups::BaseService
F
Felipe Artur 已提交
3 4
    def initialize(user, params = {})
      @current_user, @params = user, params.dup
5 6
    end

F
Felipe Artur 已提交
7
    def execute
8 9
      @group = Group.new(params)

D
Douwe Maan 已提交
10 11 12 13
      unless Gitlab::VisibilityLevel.allowed_for?(current_user, params[:visibility_level])
        deny_visibility_level(@group)
        return @group
      end
14

D
Douwe Maan 已提交
15
      @group.name ||= @group.path.dup
F
Felipe Artur 已提交
16
      @group.save
17
      @group.add_owner(current_user)
F
Felipe Artur 已提交
18
      @group
19 20 21
    end
  end
end