diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 18:08:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 18:08:36 +0300 |
commit | fedf978f9aa1909ed7bb3fad767ad120a1c6bd7b (patch) | |
tree | 1bd0f0b301ad96feda1910abe34eb89c46cc55cd /app/models | |
parent | db24ab2b72dbff24c201410a0561e929ae7e8061 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/application_setting.rb | 4 | ||||
-rw-r--r-- | app/models/clusters/applications/knative.rb | 2 | ||||
-rw-r--r-- | app/models/concerns/issuable.rb | 9 | ||||
-rw-r--r-- | app/models/project_services/prometheus_service.rb | 2 | ||||
-rw-r--r-- | app/models/serverless/domain_cluster.rb | 2 |
5 files changed, 13 insertions, 6 deletions
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 0bea5d7b399..ddd43311d9b 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -10,7 +10,9 @@ class ApplicationSetting < ApplicationRecord add_authentication_token_field :health_check_access_token add_authentication_token_field :static_objects_external_storage_auth_token - belongs_to :instance_administration_project, class_name: "Project" + belongs_to :self_monitoring_project, class_name: "Project", foreign_key: 'instance_administration_project_id' + alias_attribute :self_monitoring_project_id, :instance_administration_project_id + belongs_to :instance_administrators_group, class_name: "Group" # Include here so it can override methods from diff --git a/app/models/clusters/applications/knative.rb b/app/models/clusters/applications/knative.rb index 387503bee54..2602bb2cf97 100644 --- a/app/models/clusters/applications/knative.rb +++ b/app/models/clusters/applications/knative.rb @@ -11,7 +11,7 @@ module Clusters self.table_name = 'clusters_applications_knative' - has_one :serverless_domain_cluster, class_name: 'Serverless::DomainCluster', foreign_key: 'clusters_applications_knative_id', inverse_of: :knative + has_one :serverless_domain_cluster, class_name: '::Serverless::DomainCluster', foreign_key: 'clusters_applications_knative_id', inverse_of: :knative include ::Clusters::Concerns::ApplicationCore include ::Clusters::Concerns::ApplicationStatus diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index fe0fad4b9d5..653dc9c0b47 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -108,7 +108,9 @@ module Issuable where("NOT EXISTS (SELECT TRUE FROM #{to_ability_name}_assignees WHERE #{to_ability_name}_id = #{to_ability_name}s.id)") end scope :assigned_to, ->(u) do - where("EXISTS (SELECT TRUE FROM #{to_ability_name}_assignees WHERE user_id = ? AND #{to_ability_name}_id = #{to_ability_name}s.id)", u.id) + assignees_table = Arel::Table.new("#{to_ability_name}_assignees") + sql = assignees_table.project('true').where(assignees_table[:user_id].in(u)).where(Arel::Nodes::SqlLiteral.new("#{to_ability_name}_id = #{to_ability_name}s.id")) + where("EXISTS (#{sql.to_sql})") end # rubocop:enable GitlabSecurity/SqlInjection @@ -263,8 +265,9 @@ module Issuable .reorder(Gitlab::Database.nulls_last_order('highest_priority', direction)) end - def with_label(title, sort = nil) - if title.is_a?(Array) && title.size > 1 + def with_label(title, sort = nil, not_query: false) + multiple_labels = title.is_a?(Array) && title.size > 1 + if multiple_labels && !not_query joins(:labels).where(labels: { title: title }).group(*grouping_columns(sort)).having("COUNT(DISTINCT labels.title) = #{title.size}") else joins(:labels).where(labels: { title: title }) diff --git a/app/models/project_services/prometheus_service.rb b/app/models/project_services/prometheus_service.rb index 3d5967de41e..00b06ae2595 100644 --- a/app/models/project_services/prometheus_service.rb +++ b/app/models/project_services/prometheus_service.rb @@ -102,7 +102,7 @@ class PrometheusService < MonitoringService private def self_monitoring_project? - project && project.id == current_settings.instance_administration_project_id + project && project.id == current_settings.self_monitoring_project_id end def internal_prometheus_url? diff --git a/app/models/serverless/domain_cluster.rb b/app/models/serverless/domain_cluster.rb index 44463a56327..9a1acf7e5c3 100644 --- a/app/models/serverless/domain_cluster.rb +++ b/app/models/serverless/domain_cluster.rb @@ -15,5 +15,7 @@ module Serverless format: { with: HEX_REGEXP, message: 'only allows hex characters' } default_value_for(:uuid, allows_nil: false) { Gitlab::Serverless::Domain.generate_uuid } + + delegate :domain, to: :pages_domain end end |