diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/clusters/applications/ingress.rb | 6 | ||||
-rw-r--r-- | app/models/clusters/applications/prometheus.rb | 12 | ||||
-rw-r--r-- | app/models/project.rb | 6 | ||||
-rw-r--r-- | app/models/user.rb | 1 | ||||
-rw-r--r-- | app/models/user_canonical_email.rb | 8 |
5 files changed, 28 insertions, 5 deletions
diff --git a/app/models/clusters/applications/ingress.rb b/app/models/clusters/applications/ingress.rb index 78c2a74da33..baf34e916f8 100644 --- a/app/models/clusters/applications/ingress.rb +++ b/app/models/clusters/applications/ingress.rb @@ -50,7 +50,7 @@ module Clusters end def allowed_to_uninstall? - external_ip_or_hostname? && application_jupyter_nil_or_installable? + external_ip_or_hostname? && !application_jupyter_installed? end def install_command @@ -161,8 +161,8 @@ module Clusters YAML.load_file(chart_values_file).deep_merge!(specification) end - def application_jupyter_nil_or_installable? - cluster.application_jupyter.nil? || cluster.application_jupyter&.installable? + def application_jupyter_installed? + cluster.application_jupyter&.installed? end def modsecurity_snippet_content diff --git a/app/models/clusters/applications/prometheus.rb b/app/models/clusters/applications/prometheus.rb index 8297f653ea7..3183318690c 100644 --- a/app/models/clusters/applications/prometheus.rb +++ b/app/models/clusters/applications/prometheus.rb @@ -35,6 +35,16 @@ module Clusters .perform_async(application.cluster_id, ::PrometheusService.to_param) # rubocop:disable CodeReuse/ServiceClass end end + + after_transition any => :updating do |application| + application.update(last_update_started_at: Time.now) + end + end + + def updated_since?(timestamp) + last_update_started_at && + last_update_started_at > timestamp && + !update_errored? end def chart @@ -148,5 +158,3 @@ module Clusters end end end - -Clusters::Applications::Prometheus.prepend_if_ee('EE::Clusters::Applications::Prometheus') diff --git a/app/models/project.rb b/app/models/project.rb index 34c9c7320be..b9d8fd1e4d8 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -2411,6 +2411,12 @@ class Project < ApplicationRecord branch_protection.fully_protected? || branch_protection.developer_can_merge? end + def environments_for_scope(scope) + quoted_scope = ::Gitlab::SQL::Glob.q(scope) + + environments.where("name LIKE (#{::Gitlab::SQL::Glob.to_like(quoted_scope)})") # rubocop:disable GitlabSecurity/SqlInjection + end + private def closest_namespace_setting(name) diff --git a/app/models/user.rb b/app/models/user.rb index 7789326e8fa..4f484657f13 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -168,6 +168,7 @@ class User < ApplicationRecord has_one :user_preference has_one :user_detail has_one :user_highest_role + has_one :user_canonical_email # # Validations diff --git a/app/models/user_canonical_email.rb b/app/models/user_canonical_email.rb new file mode 100644 index 00000000000..044e4fd775e --- /dev/null +++ b/app/models/user_canonical_email.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class UserCanonicalEmail < ApplicationRecord + validates :canonical_email, presence: true + validates :canonical_email, format: { with: Devise.email_regexp } + + belongs_to :user, inverse_of: :user_canonical_email +end |