summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorOlivier Gonzalez <ogonzalez@gitlab.com>2018-11-05 18:56:52 -0500
committerOlivier Gonzalez <ogonzalez@gitlab.com>2018-11-05 18:56:52 -0500
commita89fb014a3f520d44351489bca73a42f3d4d42e8 (patch)
tree5d5274efd590da2184665e11e18e722a3026a076 /app
parent57bc28e7907cc5166030c10638a2c756cb45dcaa (diff)
downloadgitlab-ce-a89fb014a3f520d44351489bca73a42f3d4d42e8.tar.gz
Backport generic methods to CEce-fix_vuln_list_on_group_dashboard
Allow to fetch all pipelines for every projects in a group and its subgroups. Allow to fetch the latest pipeline id for each projects of a group and its subgroups.
Diffstat (limited to 'app')
-rw-r--r--app/models/ci/pipeline.rb4
-rw-r--r--app/models/namespace.rb6
2 files changed, 10 insertions, 0 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index aeee7f0a5d2..0daf2419b67 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -238,6 +238,10 @@ module Ci
end
end
+ def self.latest_successful_ids_per_project
+ success.group(:project_id).select('max(id) as id')
+ end
+
def self.truncate_sha(sha)
sha[0...8]
end
diff --git a/app/models/namespace.rb b/app/models/namespace.rb
index 74d48d0a9af..4a6627d3ca1 100644
--- a/app/models/namespace.rb
+++ b/app/models/namespace.rb
@@ -232,6 +232,12 @@ class Namespace < ActiveRecord::Base
Project.inside_path(full_path)
end
+ # Includes pipelines from this namespace and pipelines from all subgroups
+ # that belongs to this namespace
+ def all_pipelines
+ Ci::Pipeline.where(project: all_projects)
+ end
+
def has_parent?
parent.present?
end