Disable external auths by default. Don't change settings for existing sites.

This commit is contained in:
Neil Lalonde
2014-06-04 11:35:18 -04:00
parent 35834a9c40
commit 72abb6e274
3 changed files with 29 additions and 5 deletions

View File

@@ -0,0 +1,24 @@
class DisableExternalAuthsByDefault < ActiveRecord::Migration
def enable_setting_if_default(name)
result = User.exec_sql("SELECT count(*) count FROM site_settings WHERE name = '#{name}'")
if result[0]['count'].to_i == 0
execute "INSERT INTO site_settings (name, data_type, value, created_at, updated_at) VALUES ('#{name}', 5, 't', now(), now())"
end
end
def up
users_count_query = User.exec_sql("SELECT count(*) FROM users")
if users_count_query[0]['count'].to_i > 1
# existing site, so keep settings as they are
enable_setting_if_default 'enable_yahoo_logins'
enable_setting_if_default 'enable_google_oauth2_logins'
enable_setting_if_default 'enable_twitter_logins'
enable_setting_if_default 'enable_facebook_logins'
end
end
def down
# No need to undo
end
end