Commit 9f65c274efbebf569b9d5576a33eabebda31e7e9

Authored by Dmitriy Zaporozhets
1 parent 406a0c80

Fix ci service creation logic

app/controllers/services_controller.rb
... ... @@ -19,7 +19,7 @@ class ServicesController < ProjectResourceController
19 19 @service = @project.gitlab_ci_service
20 20  
21 21 if @service.update_attributes(params[:service])
22   - redirect_to :back
  22 + redirect_to edit_project_service_path(@project, :gitlab_ci)
23 23 else
24 24 render 'edit'
25 25 end
... ...
app/models/gitlab_ci_service.rb
... ... @@ -14,12 +14,16 @@
14 14 class GitlabCiService < Service
15 15 attr_accessible :project_url
16 16  
17   - validates :project_url, presence: true
18   - validates :token, presence: true
  17 + validates :project_url, presence: true, if: :activated?
  18 + validates :token, presence: true, if: :activated?
19 19  
20 20 delegate :execute, to: :service_hook, prefix: nil
21 21  
22   - after_save :compose_service_hook
  22 + after_save :compose_service_hook, if: :activated?
  23 +
  24 + def activated?
  25 + active
  26 + end
23 27  
24 28 def compose_service_hook
25 29 hook = service_hook || build_service_hook
... ...
app/views/services/_gitlab_ci.html.haml
... ... @@ -11,7 +11,7 @@
11 11 %hr
12 12  
13 13  
14   -= form_for(@service, :as => :service, :url => project_service_path(@project, @service), :method => :put) do |f|
  14 += form_for(@service, :as => :service, :url => project_service_path(@project, :gitlab_ci), :method => :put) do |f|
15 15 - if @service.errors.any?
16 16 .alert-message.block-message.error
17 17 %ul
... ... @@ -39,4 +39,5 @@
39 39 .form-actions
40 40 = f.submit 'Save', class: 'btn save-btn'
41 41 &nbsp;
42   - = link_to 'Test settings', test_project_service_path(@project), class: 'btn btn-small'
  42 + - if @service.valid? && @service.active
  43 + = link_to 'Test settings', test_project_service_path(@project), class: 'btn btn-small'
... ...