From b1211bee97299b7075b3794293801c598b8b0a71 Mon Sep 17 00:00:00 2001 From: Penar Musaraj Date: Mon, 28 Mar 2022 14:15:28 -0400 Subject: [PATCH] FIX: Resetting selectable avatars was failing (#16302) --- lib/site_setting_extension.rb | 2 ++ spec/lib/site_setting_extension_spec.rb | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/site_setting_extension.rb b/lib/site_setting_extension.rb index b011375a530..8953e4fc6f2 100644 --- a/lib/site_setting_extension.rb +++ b/lib/site_setting_extension.rb @@ -508,6 +508,8 @@ module SiteSettingExtension value = current[name] end + return [] if value.empty? + value = value.split("|").map(&:to_i) uploads_list = Upload.where(id: value).to_a uploads[name] = uploads_list if uploads_list diff --git a/spec/lib/site_setting_extension_spec.rb b/spec/lib/site_setting_extension_spec.rb index 6905184052c..5873905d0de 100644 --- a/spec/lib/site_setting_extension_spec.rb +++ b/spec/lib/site_setting_extension_spec.rb @@ -254,8 +254,11 @@ describe SiteSettingExtension do end describe "remove_override" do + fab!(:upload) { Fabricate(:upload) } + before do settings.setting(:test_override, "test") + settings.setting(:image_list_test, "", type: :uploaded_image_list) settings.refresh! end it "correctly nukes overrides" do @@ -263,6 +266,12 @@ describe SiteSettingExtension do settings.remove_override!(:test_override) expect(settings.test_override).to eq("test") end + + it "correctly nukes overrides for image list type setting" do + settings.image_list_test = "#{upload.id}" + settings.remove_override!(:image_list_test) + expect(settings.image_list_test).to be_empty + end end describe "string setting" do