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