diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-15 03:09:24 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-15 03:09:24 +0000 |
commit | 5fe82ba3d39345ce6c6df14a10b13998b13c68b2 (patch) | |
tree | 33c18c58ff44cb1c8301798bf2f2edbb80ac746d /lib | |
parent | 09bd62c59d070ab2bbcb4079a44dcb78c76666b5 (diff) | |
download | gitlab-ce-5fe82ba3d39345ce6c6df14a10b13998b13c68b2.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/helpers/search_helpers.rb | 4 | ||||
-rw-r--r-- | lib/api/search.rb | 4 | ||||
-rw-r--r-- | lib/banzai/filter/alert_reference_filter.rb | 29 | ||||
-rw-r--r-- | lib/banzai/pipeline/gfm_pipeline.rb | 3 | ||||
-rw-r--r-- | lib/banzai/pipeline/single_line_pipeline.rb | 3 | ||||
-rw-r--r-- | lib/banzai/reference_parser/alert_parser.rb | 19 |
6 files changed, 60 insertions, 2 deletions
diff --git a/lib/api/helpers/search_helpers.rb b/lib/api/helpers/search_helpers.rb index 936684ea1f8..cb5f92fa62a 100644 --- a/lib/api/helpers/search_helpers.rb +++ b/lib/api/helpers/search_helpers.rb @@ -17,6 +17,10 @@ module API # This is a separate method so that EE can redefine it. %w(issues merge_requests milestones notes wiki_blobs commits blobs users) end + + def self.search_states + %w(all opened closed merged) + end end end end diff --git a/lib/api/search.rb b/lib/api/search.rb index 53095e0b81a..b9c6a823f4f 100644 --- a/lib/api/search.rb +++ b/lib/api/search.rb @@ -32,6 +32,7 @@ module API search_params = { scope: params[:scope], search: params[:search], + state: params[:state], snippets: snippets?, page: params[:page], per_page: params[:per_page] @@ -79,6 +80,7 @@ module API type: String, desc: 'The scope of the search', values: Helpers::SearchHelpers.global_search_scopes + optional :state, type: String, desc: 'Filter results by state', values: Helpers::SearchHelpers.search_states use :pagination end get do @@ -100,6 +102,7 @@ module API type: String, desc: 'The scope of the search', values: Helpers::SearchHelpers.group_search_scopes + optional :state, type: String, desc: 'Filter results by state', values: Helpers::SearchHelpers.search_states use :pagination end get ':id/(-/)search' do @@ -122,6 +125,7 @@ module API desc: 'The scope of the search', values: Helpers::SearchHelpers.project_search_scopes optional :ref, type: String, desc: 'The name of a repository branch or tag. If not given, the default branch is used' + optional :state, type: String, desc: 'Filter results by state', values: Helpers::SearchHelpers.search_states use :pagination end get ':id/(-/)search' do diff --git a/lib/banzai/filter/alert_reference_filter.rb b/lib/banzai/filter/alert_reference_filter.rb new file mode 100644 index 00000000000..228a4159c99 --- /dev/null +++ b/lib/banzai/filter/alert_reference_filter.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Banzai + module Filter + class AlertReferenceFilter < IssuableReferenceFilter + self.reference_type = :alert + + def self.object_class + AlertManagement::Alert + end + + def self.object_sym + :alert + end + + def parent_records(parent, ids) + parent.alert_management_alerts.where(iid: ids.to_a) + end + + def url_for_object(alert, project) + ::Gitlab::Routing.url_helpers.details_project_alert_management_url( + project, + alert.iid, + only_path: context[:only_path] + ) + end + end + end +end diff --git a/lib/banzai/pipeline/gfm_pipeline.rb b/lib/banzai/pipeline/gfm_pipeline.rb index 0d6f36cd6e9..7057ac9d707 100644 --- a/lib/banzai/pipeline/gfm_pipeline.rb +++ b/lib/banzai/pipeline/gfm_pipeline.rb @@ -59,7 +59,8 @@ module Banzai Filter::CommitRangeReferenceFilter, Filter::CommitReferenceFilter, Filter::LabelReferenceFilter, - Filter::MilestoneReferenceFilter + Filter::MilestoneReferenceFilter, + Filter::AlertReferenceFilter ] end diff --git a/lib/banzai/pipeline/single_line_pipeline.rb b/lib/banzai/pipeline/single_line_pipeline.rb index b06cb907025..a2fe6d52a90 100644 --- a/lib/banzai/pipeline/single_line_pipeline.rb +++ b/lib/banzai/pipeline/single_line_pipeline.rb @@ -23,7 +23,8 @@ module Banzai Filter::MergeRequestReferenceFilter, Filter::SnippetReferenceFilter, Filter::CommitRangeReferenceFilter, - Filter::CommitReferenceFilter + Filter::CommitReferenceFilter, + Filter::AlertReferenceFilter ] end diff --git a/lib/banzai/reference_parser/alert_parser.rb b/lib/banzai/reference_parser/alert_parser.rb new file mode 100644 index 00000000000..7b864d26f67 --- /dev/null +++ b/lib/banzai/reference_parser/alert_parser.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Banzai + module ReferenceParser + class AlertParser < BaseParser + self.reference_type = :alert + + def references_relation + AlertManagement::Alert + end + + private + + def can_read_reference?(user, alert, node) + can?(user, :read_alert_management_alert, alert) + end + end + end +end |