mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Set disable_mailing_list_mode automatically (#12402)
The user mailing list mode continued to be silently enabled and UserEmail job checked just that ignoring site setting disable_mailing_list_mode. An additional migrate was added to set disable_mailing_list_mode to false if any users enabled the mailing list mode already.
This commit is contained in:
21
db/migrate/20210315173137_set_disable_mailing_list_mode.rb
Normal file
21
db/migrate/20210315173137_set_disable_mailing_list_mode.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class SetDisableMailingListMode < ActiveRecord::Migration[6.0]
|
||||
def up
|
||||
result = execute "SELECT COUNT(*) FROM user_options WHERE mailing_list_mode"
|
||||
if result.first['count'] > 0
|
||||
execute <<~SQL
|
||||
INSERT INTO site_settings(name, data_type, value, created_at, updated_at)
|
||||
VALUES('disable_mailing_list_mode', 5, 'f', NOW(), NOW())
|
||||
ON CONFLICT (name) DO UPDATE SET value = 'f'
|
||||
SQL
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
result = execute "SELECT COUNT(*) FROM user_options WHERE mailing_list_mode"
|
||||
if result.first['count'] == 0
|
||||
execute "DELETE FROM site_settings WHERE name = 'disable_mailing_list_mode'"
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user