Make gitlab works with gitlab-shell

This commit is contained in:
Dmitriy Zaporozhets 2013-02-04 15:07:56 +02:00
parent 6b9a609044
commit 27d9ac0fe8
9 changed files with 44 additions and 71 deletions

View file

@ -10,11 +10,6 @@ class ApplicationController < ActionController::Base
helper_method :abilities, :can?
rescue_from Gitlab::Gitolite::AccessDenied do |exception|
log_exception(exception)
render "errors/gitolite", layout: "errors", status: 500
end
rescue_from Encoding::CompatibilityError do |exception|
log_exception(exception)
render "errors/encoding", layout: "errors", status: 500

View file

@ -80,4 +80,8 @@ class Key < ActiveRecord::Base
def last_deploy?
Key.where(identifier: identifier).count == 0
end
def owner_name
user.username
end
end

View file

@ -459,20 +459,6 @@ class Project < ActiveRecord::Base
namespace.try(:path) || ''
end
def update_repository
GitoliteWorker.perform_async(
:update_repository,
self.id
)
end
def destroy_repository
GitoliteWorker.perform_async(
:remove_repository,
self.path_with_namespace
)
end
def repo_exists?
@repo_exists ||= (repository && repository.branches.present?)
rescue

View file

@ -25,9 +25,6 @@ class UsersProject < ActiveRecord::Base
attr_accessor :skip_git
after_save :update_repository, unless: :skip_git?
after_destroy :update_repository, unless: :skip_git?
validates :user, presence: true
validates :user_id, uniqueness: { scope: [:project_id], message: "already exists in project" }
validates :project_access, inclusion: { in: [GUEST, REPORTER, DEVELOPER, MASTER] }, presence: true
@ -136,10 +133,6 @@ class UsersProject < ActiveRecord::Base
end
end
def update_repository
project.update_repository
end
def project_access_human
Project.access_options.key(self.project_access)
end

View file

@ -3,20 +3,16 @@ class KeyObserver < ActiveRecord::Observer
def after_save(key)
GitoliteWorker.perform_async(
:set_key,
key.identifier,
key.key,
key.projects.map(&:id)
:add_key,
key.owner_name,
key.key
)
end
def after_destroy(key)
return if key.is_deploy_key && !key.last_deploy?
GitoliteWorker.perform_async(
:remove_key,
key.identifier,
key.projects.map(&:id)
key.key,
)
end
end

View file

@ -1,6 +1,11 @@
class ProjectObserver < ActiveRecord::Observer
def after_create(project)
project.update_repository
GitoliteWorker.perform_async(
:add_repository,
project.path_with_namespace
)
log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"")
end
def after_update(project)
@ -8,14 +13,15 @@ class ProjectObserver < ActiveRecord::Observer
end
def after_destroy(project)
log_info("Project \"#{project.name}\" was removed")
GitoliteWorker.perform_async(
:remove_repository,
self.path_with_namespace
)
project.satellite.destroy
project.destroy_repository
end
def after_create project
log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"")
log_info("Project \"#{project.name}\" was removed")
end
protected