From 962f9efeb470afd0627f509621de4ff87124d656 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin <godfat@godfat.org> Date: Tue, 21 Feb 2017 02:25:35 +0800 Subject: [PATCH] Update error message and check with presence: true Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9219#note_23762243 https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9219#note_23762268 --- app/models/application_setting.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 36832185b6f..b5ffc5f9ca9 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -80,6 +80,7 @@ class ApplicationSetting < ActiveRecord::Base presence: true, numericality: { only_integer: true, greater_than: 0 } + validates :default_artifacts_expire_in, presence: true validate :check_default_artifacts_expire_in validates :container_registry_token_expire_delay, @@ -222,6 +223,14 @@ class ApplicationSetting < ActiveRecord::Base create(defaults) end + def self.human_attribute_name(attr, _options = {}) + if attr == :default_artifacts_expire_in + 'Default artifacts expiration' + else + super + end + end + def home_page_url_column_exist ActiveRecord::Base.connection.column_exists?(:application_settings, :home_page_url) end @@ -298,12 +307,8 @@ class ApplicationSetting < ActiveRecord::Base end def check_default_artifacts_expire_in - if default_artifacts_expire_in.blank? - errors.add(:default_artifacts_expiration, "is not presented") - else - ChronicDuration.parse(default_artifacts_expire_in) - end + ChronicDuration.parse(default_artifacts_expire_in) rescue ChronicDuration::DurationParseError - errors.add(:default_artifacts_expiration, "is invalid") + errors.add(:default_artifacts_expiration, "is not a correct duration") end end -- GitLab