diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 36832185b6f1780f5d3751ed8afcb962e4adf507..b5ffc5f9ca9dd0375c54457334c24798806fbcec 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