Skip to content
Snippets Groups Projects
Commit 1fbb7f97 authored by Tiago Botelho's avatar Tiago Botelho
Browse files

Removes redundant pending delete checks

parent 34f57b46
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -78,7 +78,6 @@ class TodosFinder
end
 
def project
return nil if @project&.pending_delete?
return @project if defined?(@project)
 
if project?
Loading
Loading
@@ -98,7 +97,7 @@ class TodosFinder
 
def projects(items)
item_project_ids = items.reorder(nil).select(:project_id)
ProjectsFinder.new(current_user: current_user, project_ids_relation: item_project_ids).execute.without_deleted
ProjectsFinder.new(current_user: current_user, project_ids_relation: item_project_ids).execute
end
 
def type?
Loading
Loading
Loading
Loading
@@ -97,8 +97,8 @@ module SearchHelper
 
# Autocomplete results for the current user's projects
def projects_autocomplete(term, limit = 5)
current_user.authorized_projects.search_by_title(term).
sorted_by_stars.non_archived.limit(limit).map do |p|
current_user.authorized_projects.search_by_title(term)
.sorted_by_stars.non_archived.limit(limit).map do |p|
{
category: "Projects",
id: p.id,
Loading
Loading
Loading
Loading
@@ -47,6 +47,8 @@ class Namespace < ActiveRecord::Base
before_destroy(prepend: true) { prepare_for_destroy }
after_destroy :rm_dir
 
default_scope { with_deleted }
scope :for_user, -> { where('type IS NULL') }
 
scope :with_statistics, -> do
Loading
Loading
Loading
Loading
@@ -222,7 +222,7 @@ class Project < ActiveRecord::Base
has_many :uploads, as: :model, dependent: :destroy
 
# Scopes
scope :with_deleted, -> { where(pending_delete: true) }
scope :pending_delete, -> { where(pending_delete: true) }
scope :without_deleted, -> { where(pending_delete: false) }
 
scope :sorted_by_activity, -> { reorder(last_activity_at: :desc) }
Loading
Loading
@@ -376,7 +376,6 @@ class Project < ActiveRecord::Base
.or(ptable[:description].matches(pattern))
)
 
namespaces = unscoped.select(:id)
.joins(:namespace)
.where(ntable[:name].matches(pattern))
Loading
Loading
@@ -1456,7 +1455,7 @@ class Project < ActiveRecord::Base
def pending_delete_twin
return false unless path
 
Project.with_deleted.find_by_full_path(path_with_namespace)
Project.pending_delete.find_by_full_path(path_with_namespace)
end
 
##
Loading
Loading
Loading
Loading
@@ -54,9 +54,9 @@ module Ci
def builds_for_shared_runner
new_builds.
# don't run projects which have not enabled shared runners and builds
joins(:project).where(projects: { shared_runners_enabled: true, pending_delete: false }).
joins('LEFT JOIN project_features ON ci_builds.project_id = project_features.project_id').
where('project_features.builds_access_level IS NULL or project_features.builds_access_level > 0').
joins(:project).where(projects: { shared_runners_enabled: true, pending_delete: false })
.joins('LEFT JOIN project_features ON ci_builds.project_id = project_features.project_id')
.where('project_features.builds_access_level IS NULL or project_features.builds_access_level > 0').
 
# Implement fair scheduling
# this returns builds that are ordered by number of running builds
Loading
Loading
Loading
Loading
@@ -317,23 +317,6 @@ feature 'Dashboard Todos' do
end
end
 
context 'User has a Todo in a project pending deletion' do
before do
deleted_project = create(:project, :public, pending_delete: true)
create(:todo, :mentioned, user: user, project: deleted_project, target: issue, author: author)
create(:todo, :mentioned, user: user, project: deleted_project, target: issue, author: author, state: :done)
sign_in(user)
visit dashboard_todos_path
end
it 'shows "All done" message' do
within('.todos-count') { expect(page).to have_content '0' }
expect(page).to have_content 'To do 0'
expect(page).to have_content 'Done 0'
expect(page).to have_selector('.todos-all-done', count: 1)
end
end
context 'User has a Build Failed todo' do
let!(:todo) { create(:todo, :build_failed, user: user, project: project, author: author) }
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment