Fix ci service creation logic

This commit is contained in:
Dmitriy Zaporozhets 2012-11-20 14:16:04 +02:00
parent 406a0c809b
commit 9f65c274ef
3 changed files with 11 additions and 6 deletions

View file

@ -19,7 +19,7 @@ class ServicesController < ProjectResourceController
@service = @project.gitlab_ci_service @service = @project.gitlab_ci_service
if @service.update_attributes(params[:service]) if @service.update_attributes(params[:service])
redirect_to :back redirect_to edit_project_service_path(@project, :gitlab_ci)
else else
render 'edit' render 'edit'
end end

View file

@ -14,12 +14,16 @@
class GitlabCiService < Service class GitlabCiService < Service
attr_accessible :project_url attr_accessible :project_url
validates :project_url, presence: true validates :project_url, presence: true, if: :activated?
validates :token, presence: true validates :token, presence: true, if: :activated?
delegate :execute, to: :service_hook, prefix: nil delegate :execute, to: :service_hook, prefix: nil
after_save :compose_service_hook after_save :compose_service_hook, if: :activated?
def activated?
active
end
def compose_service_hook def compose_service_hook
hook = service_hook || build_service_hook hook = service_hook || build_service_hook

View file

@ -11,7 +11,7 @@
%hr %hr
= form_for(@service, :as => :service, :url => project_service_path(@project, @service), :method => :put) do |f| = form_for(@service, :as => :service, :url => project_service_path(@project, :gitlab_ci), :method => :put) do |f|
- if @service.errors.any? - if @service.errors.any?
.alert-message.block-message.error .alert-message.block-message.error
%ul %ul
@ -39,4 +39,5 @@
.form-actions .form-actions
= f.submit 'Save', class: 'btn save-btn' = f.submit 'Save', class: 'btn save-btn'
&nbsp; &nbsp;
= link_to 'Test settings', test_project_service_path(@project), class: 'btn btn-small' - if @service.valid? && @service.active
= link_to 'Test settings', test_project_service_path(@project), class: 'btn btn-small'