web hooks scaffold started
This commit is contained in:
parent
8d7aaf0e55
commit
2dae0e18e0
10 changed files with 85 additions and 4 deletions
43
app/controllers/hooks_controller.rb
Normal file
43
app/controllers/hooks_controller.rb
Normal file
|
@ -0,0 +1,43 @@
|
|||
class HooksController < ApplicationController
|
||||
before_filter :authenticate_user!
|
||||
before_filter :project
|
||||
layout "project"
|
||||
|
||||
# Authorize
|
||||
before_filter :add_project_abilities
|
||||
before_filter :authorize_read_project!
|
||||
before_filter :authorize_admin_project!, :only => [:new, :create, :destroy]
|
||||
|
||||
respond_to :html
|
||||
|
||||
def index
|
||||
@hooks = @project.web_hooks
|
||||
end
|
||||
|
||||
def new
|
||||
@hook = @project.web_hooks.new
|
||||
end
|
||||
|
||||
def create
|
||||
@hook = @project.web_hooks.new(params[:hook])
|
||||
@hook.author = current_user
|
||||
@hook.save
|
||||
|
||||
if @hook.valid?
|
||||
redirect_to [@project, @hook]
|
||||
else
|
||||
respond_with(@hook)
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
@hook = @project.web_hooks.find(params[:id])
|
||||
end
|
||||
|
||||
def destroy
|
||||
@hook = @project.web_hooks.find(params[:id])
|
||||
@hook.destroy
|
||||
|
||||
redirect_to project_hooks_path(@project)
|
||||
end
|
||||
end
|
|
@ -68,7 +68,7 @@ class ProjectsController < ApplicationController
|
|||
|
||||
def show
|
||||
return render "projects/empty" unless @project.repo_exists? && @project.has_commits?
|
||||
limit = (params[:limit] || 20).to_i
|
||||
limit = (params[:limit] || 10).to_i
|
||||
@activities = @project.cached_updates(limit)
|
||||
end
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ class RepositoriesController < ApplicationController
|
|||
layout "project"
|
||||
|
||||
def show
|
||||
@activities = @project.fresh_commits(20)
|
||||
@activities = @project.fresh_commits(10)
|
||||
end
|
||||
|
||||
def branches
|
||||
|
|
|
@ -82,5 +82,6 @@ end
|
|||
# linkedin :string(255) default(""), not null
|
||||
# twitter :string(255) default(""), not null
|
||||
# authentication_token :string(255)
|
||||
# dark_scheme :boolean default(FALSE), not null
|
||||
#
|
||||
|
||||
|
|
|
@ -18,3 +18,14 @@ class WebHook < ActiveRecord::Base
|
|||
# There was a problem calling this web hook, let's forget about it.
|
||||
end
|
||||
end
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: web_hooks
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# url :string(255)
|
||||
# project_id :integer
|
||||
# created_at :datetime
|
||||
# updated_at :datetime
|
||||
#
|
||||
|
||||
|
|
10
app/views/hooks/index.html.haml
Normal file
10
app/views/hooks/index.html.haml
Normal file
|
@ -0,0 +1,10 @@
|
|||
= render "repositories/head"
|
||||
- unless @hooks.empty?
|
||||
%div.update-data.ui-box.ui-box-small
|
||||
.data
|
||||
- @hooks.each do |hook|
|
||||
%a.update-item{:href => project_hooks_path(@project, hook)}
|
||||
%span.update-title{:style => "margin-bottom:0px;"}
|
||||
= hook.url
|
||||
- else
|
||||
%h3 No hooks
|
|
@ -1,4 +1,6 @@
|
|||
class PostReceive
|
||||
@queue = :post_receive
|
||||
|
||||
def self.perform(reponame, oldrev, newrev, ref)
|
||||
project = Project.find_by_path(reponame)
|
||||
return false if project.nil?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue