summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/stylesheets/gitlab_bootstrap/forms.scss7
-rw-r--r--app/models/project_hook.rb2
-rw-r--r--app/views/projects/hooks/index.html.haml43
3 files changed, 44 insertions, 8 deletions
diff --git a/app/assets/stylesheets/gitlab_bootstrap/forms.scss b/app/assets/stylesheets/gitlab_bootstrap/forms.scss
index d4da3fe7139..1a310a75c31 100644
--- a/app/assets/stylesheets/gitlab_bootstrap/forms.scss
+++ b/app/assets/stylesheets/gitlab_bootstrap/forms.scss
@@ -13,6 +13,13 @@ form {
margin-top: 1px !important;
}
}
+
+ &.list-label {
+ float: none;
+ padding: 0 !important;
+ margin: 0;
+ text-align: left;
+ }
}
}
diff --git a/app/models/project_hook.rb b/app/models/project_hook.rb
index 2576fc979d4..4edb38d3bf5 100644
--- a/app/models/project_hook.rb
+++ b/app/models/project_hook.rb
@@ -13,4 +13,6 @@
class ProjectHook < WebHook
belongs_to :project
+
+ attr_accessible :push_events, :issues_events, :merge_requests_events
end
diff --git a/app/views/projects/hooks/index.html.haml b/app/views/projects/hooks/index.html.haml
index f748eb29294..e1166742b2e 100644
--- a/app/views/projects/hooks/index.html.haml
+++ b/app/views/projects/hooks/index.html.haml
@@ -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