UI with event types for Project WebHooks

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2013-12-02 21:38:32 +02:00
parent 169b4ce0ca
commit 0687ecb66d
3 changed files with 44 additions and 8 deletions

View file

@ -13,6 +13,13 @@ form {
margin-top: 1px !important;
}
}
&.list-label {
float: none;
padding: 0 !important;
margin: 0;
text-align: left;
}
}
}

View file

@ -13,4 +13,6 @@
class ProjectHook < WebHook
belongs_to :project
attr_accessible :push_events, :issues_events, :merge_requests_events
end

View file

@ -1,9 +1,9 @@
%h3.page-title
Post-receive hooks
Web hooks
%p.light
#{link_to "Post-receive hooks ", help_web_hooks_path, class: "vlink"} can be
used for binding events when someone pushes to the repository.
#{link_to "Web hooks ", help_web_hooks_path, class: "vlink"} can be
used for binding events when something happends to the the project.
%hr.clearfix
@ -13,23 +13,50 @@
- @hook.errors.full_messages.each do |msg|
%p= msg
.control-group
= f.label :url, "URL:"
= f.label :url, "URL"
.controls
= f.text_field :url, class: "text_field input-xxlarge input-xpadding", placeholder: 'http://example.com/trigger-ci.json'
&nbsp;
= f.submit "Add Web Hook", class: "btn btn-create"
.control-group
= f.label :url, "Trigger"
.controls
%div
= f.check_box :push_events, class: 'pull-left'
.prepend-left-20
= f.label :push_events, class: 'list-label' do
%strong Push events
%p.light
This url will be triggered in case of push to repository
%div
= f.check_box :issues_events, class: 'pull-left'
.prepend-left-20
= f.label :issues_events, class: 'list-label' do
%strong Issues events
%p.light
This url will be triggered for created issues
%div
= f.check_box :merge_requests_events, class: 'pull-left'
.prepend-left-20
= f.label :merge_requests_events, class: 'list-label' do
%strong Merge Request events
%p.light
This url will be triggered for created merge requests
%hr
-if @hooks.any?
.ui-box
.title
Hooks (#{@hooks.count})
Web Hooks (#{@hooks.count})
%ul.well-list
- @hooks.each do |hook|
%li
%span.badge.badge-info POST
&rarr;
%span.monospace= hook.url
.pull-right
= link_to 'Test Hook', test_project_hook_path(@project, hook), class: "btn btn-small grouped"
= link_to 'Remove', project_hook_path(@project, hook), confirm: 'Are you sure?', method: :delete, class: "btn btn-remove btn-small grouped"
.clearfix
%span.monospace= hook.url
%p
- %w(push_events issues_events merge_requests_events).each do |trigger|
- if hook.send(trigger)
%span.label.label-gray= trigger.titleize