summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-30 19:56:48 +0200
committerZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-30 19:56:48 +0200
commit3646d53d967045e627bdcde8a906a54c1bc7ba95 (patch)
tree1e5cd7b2a18148e02fd32777701396fc569c9fe7
parent7e1961e22f047f0eb00775ae9c95c1b3be283dd0 (diff)
downloadgitlab-ce-deleted-project-still-stays-visible-and-404-issue-14138.tar.gz
-rw-r--r--app/services/system_hooks_service.rb22
-rw-r--r--app/workers/project_destroy_worker.rb2
-rw-r--r--spec/models/project_spec.rb7
3 files changed, 16 insertions, 15 deletions
diff --git a/app/services/system_hooks_service.rb b/app/services/system_hooks_service.rb
index ea2b26ccb52..f0615ec7420 100644
--- a/app/services/system_hooks_service.rb
+++ b/app/services/system_hooks_service.rb
@@ -95,17 +95,19 @@ class SystemHooksService
end
def project_member_data(model)
+ project = model.project || Project.unscoped.find(model.source_id)
+
{
- project_name: model.project.name,
- project_path: model.project.path,
- project_path_with_namespace: model.project.path_with_namespace,
- project_id: model.project.id,
- user_username: model.user.username,
- user_name: model.user.name,
- user_email: model.user.email,
- user_id: model.user.id,
- access_level: model.human_access,
- project_visibility: Project.visibility_levels.key(model.project.visibility_level_field).downcase
+ project_name: project.name,
+ project_path: project.path,
+ project_path_with_namespace: project.path_with_namespace,
+ project_id: project.id,
+ user_username: model.user.username,
+ user_name: model.user.name,
+ user_email: model.user.email,
+ user_id: model.user.id,
+ access_level: model.human_access,
+ project_visibility: Project.visibility_levels.key(project.visibility_level_field).downcase
}
end
diff --git a/app/workers/project_destroy_worker.rb b/app/workers/project_destroy_worker.rb
index d06e4480292..b51c6a266c9 100644
--- a/app/workers/project_destroy_worker.rb
+++ b/app/workers/project_destroy_worker.rb
@@ -5,7 +5,7 @@ class ProjectDestroyWorker
def perform(project_id, user_id, params)
begin
- project = Project.find(project_id)
+ project = Project.unscoped.find(project_id)
rescue ActiveRecord::RecordNotFound
return
end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 54aa89285f2..fee7a99fd16 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -105,12 +105,11 @@ describe Project, models: true do
end
describe 'default_scope' do
- let!(:project) { create(:empty_project) }
- let!(:project2) { create(:empty_project, pending_delete: true) }
-
it 'excludes projects pending deletion fromt the results' do
+ project = create(:empty_project)
+ create(:empty_project, pending_delete: true)
+
expect(Project.all).to eq [project]
- expect(Project.count).to be 1
end
end