mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 03:54:47 +08:00
FIX: Correctly sanitize negative integers in site settings (#24170)
As part of #23816, which sought to strip out thousand separators, we also accidentally strip out signs. This is making it impossible to disable some settings which require a -1 to disable. Instead of stripping non-digits, strip anything that isn't a sign or a digit.
This commit is contained in:
@ -276,6 +276,16 @@ RSpec.describe Admin::SiteSettingsController do
|
||||
expect(SiteSetting.suggested_topics).to eq(1000)
|
||||
end
|
||||
|
||||
it "sanitizes negative integer values correctly" do
|
||||
put "/admin/site_settings/pending_users_reminder_delay_minutes.json",
|
||||
params: {
|
||||
pending_users_reminder_delay_minutes: "-1",
|
||||
}
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(SiteSetting.pending_users_reminder_delay_minutes).to eq(-1)
|
||||
end
|
||||
|
||||
context "with default user options" do
|
||||
let!(:user1) { Fabricate(:user) }
|
||||
let!(:user2) { Fabricate(:user) }
|
||||
|
Reference in New Issue
Block a user